{"id":18929550,"url":"https://github.com/thecodingmachine/archive-installer","last_synced_at":"2025-07-12T08:32:56.355Z","repository":{"id":6256214,"uuid":"7488899","full_name":"thecodingmachine/archive-installer","owner":"thecodingmachine","description":"This is a simple installer that let's you create simple Composer packages that are actually downloading and extracting an archive from the web.","archived":false,"fork":false,"pushed_at":"2013-05-23T12:34:52.000Z","size":153,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"1.0","last_synced_at":"2025-07-10T11:11:21.613Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/thecodingmachine.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-01-07T20:03:13.000Z","updated_at":"2019-05-04T09:15:34.000Z","dependencies_parsed_at":"2022-09-12T23:41:59.572Z","dependency_job_id":null,"html_url":"https://github.com/thecodingmachine/archive-installer","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/thecodingmachine/archive-installer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thecodingmachine%2Farchive-installer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thecodingmachine%2Farchive-installer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thecodingmachine%2Farchive-installer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thecodingmachine%2Farchive-installer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thecodingmachine","download_url":"https://codeload.github.com/thecodingmachine/archive-installer/tar.gz/refs/heads/1.0","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thecodingmachine%2Farchive-installer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264962492,"owners_count":23689822,"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":[],"created_at":"2024-11-08T11:33:28.706Z","updated_at":"2025-07-12T08:32:56.334Z","avatar_url":"https://github.com/thecodingmachine.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"Archive installer\n=================\n\nThis is a simple installer that let's you create simple Composer packages that are actually downloading and extracting an archive from the web.\n\nDownloading an archive from the web is actually already possible in Composer using the [\"package\" repository](http://getcomposer.org/doc/05-repositories.md#package-2), but this approach has a number of drawbacks. For instance, you cannot unpack the package in the root directory, or you cannot build dependencies easily upon that package.\n\nUsing the archive installer, you can let Composer install big packages that have no Composer package for you. For instance, you can build a Drupal installer just by writing a composer.json file.\n\nA package implementing the archive installer should contain at least these statements in *composer.json*:\n\n\n\t{\n\t\t...\n\t\t\"type\": \"archive-package\",\n\t\t...\n\t\t\"extra\": {\n\t\t\t\"url\": \"http://exemple.com/myarchive.zip\"\n\t\t\t\"target-dir\": \"destination/directory\",\n\t\t\t\"omit-first-directory\": \"true|false\"\n\t\t}\n\t}\n\t\nPlease note that *target-dir* is relative to the root of your project (the directory containing the *composer.json* file).\nIf *target-dir* is omitted, we default to the package's directory.\n\n\nThe *omit-first-directory* is useful if you download an archive where all the files are contained in one big directory. If you want the files without the container directory, just pass *true* to the *omit-first-directory* parameter (it defaults to false).\n\nDetailed behaviour\n------------------\n\nThe archive installer is not a perfect implementation. Actually, it is kind of stupid. Here is what you might want to know:\n\nIt assumes that the downloaded file at the URL you pass will never change. Once a download and installation is performed, it will not download the file again, unless the URL changes.\nIf the URL changes, it will download the new archive and overwrite any previous files.\n\nIf you uninstall the package, the downloaded files will not be removed (it is up to you to do the cleanup).\n\nWorking in team\n---------------\n\nYou might wonder whether you should commit the downloaded files in your code repository or not.\n\nActually, it's up to you. You might want to let the other users run *composer install* to download the package, or you might as well commit the files.\nIf you commit the files, we strongly suggest that you also commit the *download-status.txt* file too, that you can find at the root of your package. This way, when your team-mates will run *composer install*, the package will not be downloaded again. Of course, the opposite is equally true: if you do not commit the downloaded package, then you should not commit *download-status.txt*.   \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthecodingmachine%2Farchive-installer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthecodingmachine%2Farchive-installer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthecodingmachine%2Farchive-installer/lists"}