{"id":20718580,"url":"https://github.com/cedricwalter/joomla-packager","last_synced_at":"2025-04-23T14:13:31.019Z","repository":{"id":8919179,"uuid":"10646599","full_name":"cedricwalter/joomla-packager","owner":"cedricwalter","description":"joomla-packager is a generic phing build script to build any 3rd extension, being a set of components, modules, plugins and or libraries, packages in a simple way.","archived":false,"fork":false,"pushed_at":"2018-07-12T19:41:10.000Z","size":917,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-03-13T04:31:13.170Z","etag":null,"topics":["build-automation","build-script","build-system","build-tool","continuous-integration","galaxiis","joomla","phing","php"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cedricwalter.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-06-12T16:08:52.000Z","updated_at":"2018-07-12T19:41:12.000Z","dependencies_parsed_at":"2022-09-18T15:21:01.313Z","dependency_job_id":null,"html_url":"https://github.com/cedricwalter/joomla-packager","commit_stats":null,"previous_names":[],"tags_count":1,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cedricwalter%2Fjoomla-packager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cedricwalter%2Fjoomla-packager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cedricwalter%2Fjoomla-packager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cedricwalter%2Fjoomla-packager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cedricwalter","download_url":"https://codeload.github.com/cedricwalter/joomla-packager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224992993,"owners_count":17403944,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["build-automation","build-script","build-system","build-tool","continuous-integration","galaxiis","joomla","phing","php"],"created_at":"2024-11-17T03:14:05.858Z","updated_at":"2024-11-17T03:14:06.452Z","avatar_url":"https://github.com/cedricwalter.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"joomla-packager\n===============\n\njoomla-packager is a generic phing build script to build any 3rd extension, being a set of components, modules, plugins and or libraries, packages in a simple way.\n\nWhy?\n* a single script to rule all your need of joomla packaging: multi modules/ multi plugins/multi components/multi library is supported\n* If you respect Joomla's conventions, this packager will be able to create a build of any of your extensions or set of extensions\n* just configure one file (like for example in buildCedThumbnails.xml), mainly listing what your extension is made of and run\n* file all look the same = repeatability = convention over configuration\n\nSupport for Premium and Free extensions\n\nThis packager use preprocessing functions in all modules, component and plugins (anywhere in php, js, css, xml files). To use them you can put anywhere\n\n\n```\n#if premium\n...\n#endif\n```\n\nor \n```\n#if free\n...\n#endif\n```\n\nMore functions are supported If / Else if:\n```\n#if DEFINITION : succeeds if DEFINITION is set and is true (in the PHP way)\n#ifdef DEFINITION : succeeds if DEFINITION is set\n#ifndef DEFINITION : succeeds if DEFINITION is not set\n#elif DEFINITION\n#elifdef DEFINITION\n#elifndef DEFINITION\n#endif\n```\n\nUsage\n------------\nDownload https://raw.github.com/cedricwalter/joomla-packager/master/joomla-packager.xml locally \nDownload a copy of buildCedThumbnails.xml You only need to rename and touch this file, it is self documented. \nDownload a copy of pkg_cedthumbnails.xml You only need to update this file if you alter the structure. (later Joomla-packager will create this file on the fly) \nDownload the directory preprocessor also, it must be in the same directory as the file joomla-packager.xml\nRun the main target build of buildCedThumbnails.xml \n\n\nRemarks are welcomed\n+ http://www.waltercedric.com/\n+ http://www.cedricwalter.com/\n \n\nConventions\n------------\nThis script use standard joomla conventions to perform the packaging, here is what is implemented\n\nModules\n* 1. Code is located in /modules/mod_${xxxxx} and self contained\n* 2. Languages files are optional but if they exist are located at /language/xx-yy/mod_${xxxxx}.ini /language/xx-yy/mod_${xxxxx}.sys.ini\n* 3. Media files (css,js,images) are optionnal but if they exist are located at /media/mod_${xxxxx}\n* 4. name of zip files as follow:\n * mod_{yourextension1}.zip\n \nPlugins\n* 1. Code is located in /plugins/${type}/${xxxxx} and self contained\n* 2. Languages files are optional but if they exist are located at /plugins/${type}/${xxxxx}/language/ or anywhere else in directory at step 1.\n* 3. Media files (css,js,images) are optionnal but if they exist are located at /media/plg_${type}_${xxxxx}\n* 4. name of zip files as follow:\n * plg_${type}_{yourextension}.zip\n\nComponents\n* 1. Code is located in /administrator/components/${xxxxx} and /components/${xxxxx} and is self contained \n* 2. Languages files are optional but if they exist are located at /administrator/language/xx-yy/${xxxxx}.ini and /language/xx-yy/${xxxxx}.ini and \n* 3. Media files (css,js,images) are optionnal but if they exist are located at /media/${xxxxx}\n\nPackages\n* 1. one zip file which contains 1 to n other zip file +  a manifest file named pkg_{yourextension}.xml\n* 2. manifest file named pkg_{yourextension}.xml has to be written manually for now and place beside your build{yourextension}.xml\n* 4. name of zip files as follow:\n * com_{yourextension}.zip \n\nOPEN\n------------\n\n[ ] any feedback?\n[ ] Reference joomla-packager.xml through an URL not through file system\n\n[ ] Creation of manifest.xml in package is not generated through the script (but i am trying to)\nso you still need to put it in the resulting zip created, for buildCedThumbnails.xml it would look like\n\n```xml\n\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\" ?\u003e\n\u003cextension type=\"package\" version=\"3.0\"\u003e\n    \u003cname\u003ecedthumbnails\u003c/name\u003e\n    \u003cpackagename\u003ecedthumbnails\u003c/packagename\u003e\n    \u003ccreationDate\u003e01.04.2013\u003c/creationDate\u003e\n    \u003cversion\u003e2.6.2\u003c/version\u003e\n    \u003curl\u003ehttp://www.waltercedric.com\u003c/url\u003e\n    \u003cpackager\u003eCedric Walter\u003c/packager\u003e\n    \u003ccopyright\u003e(C)2008-2013 Cedric Walter. All rights reserved.\u003c/copyright\u003e\n    \u003cpackagerurl\u003ehttp://www.waltercedric.com\u003c/packagerurl\u003e\n    \u003cdescription\u003eRelated/popular/latest posts with thumbnails for Joomla. Use the library WideImage for PHP. 3 modules and 1 plugin Extensions.\u003c/description\u003e\n    \u003cfiles\u003e\n        \u003cfile type=\"library\" id=\"lib_wideimage\"\u003elib_wideimage.zip\u003c/file\u003e\n        \u003cfile type=\"component\" id=\"com_cedthumbnails\"\u003ecom_cedthumbnails.zip\u003c/file\u003e\n        \u003cfile type=\"module\" id=\"mod_articles_latest_thumb\" client=\"site\"\u003emod_articles_latest_thumb.zip\u003c/file\u003e\n        \u003cfile type=\"module\" id=\"mod_articles_popular_thumb\" client=\"site\"\u003emod_articles_popular_thumb.zip\u003c/file\u003e\n        \u003cfile type=\"module\" id=\"mod_related_items_thumb\" client=\"site\"\u003emod_related_items_thumb.zip\u003c/file\u003e\n        \u003cfile type=\"plugin\" id=\"relatedthumbarticles\" group=\"content\"\u003eplg_content_relatedthumbitems.zip\u003c/file\u003e\n    \u003c/files\u003e\n\u003c/extension\u003e\n{code}\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcedricwalter%2Fjoomla-packager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcedricwalter%2Fjoomla-packager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcedricwalter%2Fjoomla-packager/lists"}