1
0
Fork 0
Commit Graph

3226 Commits (09e31bf70400af103236e068f40f368618e56524)

Author SHA1 Message Date
Nils Adermann 78c250da19 Merge pull request #1567 from naderman/feature-dist
Distributions/Archives
2013-03-28 05:37:49 -07:00
Nils Adermann 8803281648 Make sure Phar overwrites files and doesn't load them 2013-03-28 13:33:43 +01:00
Nils Adermann 4af69c85ca Fix tests by passing proper working directory to processes 2013-03-28 13:33:40 +01:00
Nils Adermann 6f61d95829 Make sure git is setup to allow commits on travis 2013-03-28 12:50:37 +01:00
Nils Adermann 22044121ce Callbacks must be accessible publically on PHP 5.3 2013-03-28 12:49:53 +01:00
Nils Adermann cfd7a50f0a Do not hardcode vendor dir exclusion on archive.
For one thing this wouldn't have worked for any custom installers anyway
which can write installed code to other places. This will now allow one
to use composer archive on a clean code checkout to build an archive as
we are used to. Or on one that had composer install run to build an
archive that can be used for deployment which includes the vendors.
2013-03-28 12:49:53 +01:00
Nils Adermann 870a87f6d6 Use null as default values rather than false
Also made archive() in the ArchiveCommand protected as it does not need
to be used from the outside. The ArchiveManager can be used instead.
2013-03-28 12:49:53 +01:00
Nils Adermann 14ee67bed4 Output packages in archive command using getPrettyString 2013-03-28 12:49:53 +01:00
Nils Adermann 43be72acb4 Follow PSR-2 for method modifier ordering 2013-03-28 12:49:53 +01:00
Nils Adermann 1af2be9d6d Rename ExcludeFilterBase to BaseExcludeFilter 2013-03-28 12:49:53 +01:00
Nils Adermann ecf4f42885 Use a FilterIterator rather than a modified IteratorIterator, simpler 2013-03-28 12:49:53 +01:00
Nils Adermann 75d1759e77 Replace DIRECTORY_SEPARATOR in paths, not PATH_SEPARATOR 2013-03-28 12:49:53 +01:00
Nils Adermann 6066359944 Skip directories in zip generation, empty dirs won't get archived
This seems ok as we currently rely on git generating archives which does
not archive empty directories either.
2013-03-28 12:49:53 +01:00
Nils Adermann deae50392f Respect gitignore, gitattributes and hgignore files in archiving 2013-03-28 12:49:53 +01:00
Nils Adermann 64941b0a64 Make overwriting files an ArchiveManager option, use sourceRef in names 2013-03-28 12:49:53 +01:00
Nils Adermann 6ee08a2046 Remove unecessary unlink before writing archive 2013-03-28 12:49:53 +01:00
Nils Adermann 074af5dc54 Remove unnecessary dist type information from archive files 2013-03-28 12:49:53 +01:00
Nils Adermann 935f7271f8 The ArchiveManager should return the written path for library usage 2013-03-28 12:49:53 +01:00
Nils Adermann 48dd55b759 Generate a properly unique archive filename for dev revisions 2013-03-28 12:49:53 +01:00
Nils Adermann 0b23643a44 Update json schema as archive include was removed 2013-03-28 12:49:53 +01:00
Nils Adermann 838edd6e7a Fix class description of archive command 2013-03-28 12:49:53 +01:00
Nils Adermann 285603359c Add a missing array typehint 2013-03-28 12:49:52 +01:00
Nils Adermann 51135468f0 Clarify composer archive argument optionality 2013-03-28 12:49:52 +01:00
Nils Adermann 735b59c1d6 Skip the vendor dir when archiving the current project 2013-03-28 12:49:52 +01:00
Nils Adermann ba375b6867 Allow archiving the current project with composer archive 2013-03-28 12:49:52 +01:00
Nils Adermann afcdad4b23 Define an option to exclude files in the archive command 2013-03-28 12:49:52 +01:00
Nils Adermann 3e26502561 Remove Mercurial and Git Archivers as they cannot implement exclude rules 2013-03-28 12:49:52 +01:00
Nils Adermann 526f48ecb8 Implement a basic archive command
It allows creating archives with the archive manager given a package/version
pair.
2013-03-28 12:49:52 +01:00
Nils Adermann 33828b38df Use a saner file name for package archives 2013-03-28 12:49:52 +01:00
Nils Adermann bcbc50c0d6 Git can handle commit references in git archive just fine so use them 2013-03-28 12:49:52 +01:00
Nils Adermann ba51027680 Reorder ArchiveManager parameters to make the download manager optional 2013-03-28 12:49:52 +01:00
Matthieu Moquet a2b404e421 Cleaned archiver tests 2013-03-28 12:49:52 +01:00
Matthieu Moquet 9d24e17003 Fix workflow & typos 2013-03-28 12:49:52 +01:00
Matthieu Moquet c248115e04 Fix how download manager is constructed
This fixes tests due to upstream changes.
The createDownloadManager in the Factory now takes the config as extra
parameter.
2013-03-28 12:49:52 +01:00
Matthieu Moquet 60b1cc7d24 Create ArchiveManager with the Factory 2013-03-28 12:49:52 +01:00
Matthieu Moquet d1d77dd13d Fixed several typos
- break at first archiver supports
- use standard directory separator
- change exception message
- remove the BaseArchiver since tar & zip archivers have been merged
- plus coding style
2013-03-28 12:49:52 +01:00
Matthieu Moquet a733d76b33 Merged zip & tar archivers 2013-03-28 12:49:52 +01:00
Matthieu Moquet b21bb1dcc5 Checks support before downloading the package 2013-03-28 12:49:52 +01:00
Matthieu Moquet bfd2275cb0 Update interface to merge vcs with basic archivers 2013-03-28 12:49:52 +01:00
Matthieu Moquet 3b22791059 Checks process execution 2013-03-28 12:49:52 +01:00
Matthieu Moquet 2fd17ecff8 Changed Package class due to upstream changes 2013-03-28 12:49:52 +01:00
Matthieu Moquet 20e717f975 Refactored the archiver package 2013-03-28 12:49:52 +01:00
Matthieu Moquet 3d0ce85db2 Moved archive Dumpers into its own Archiver package 2013-03-28 12:49:52 +01:00
Till Klampaeckel 2acb033057 Initial feature-dist
* extends BaseDumper, implements interface
 * put $keys into BaseDumper

 * WIP WIP WIP WIP
 * BaseDumper for utilities
 * interface to enforce 'dump()'
 * feature:
   * supports git
   * supports zip output
   * basic test to cover feature

 * add @todo for later
 * add vendor namespace to package name

 * add extension to getFilename() so we don't need to switch in there (HT, @naderman)

 * add extension (obviously 'zip' in ZipDumper)

 * create archive in destination dir (provided by __construct())

 * condensed ZipDumper
 * moved code to BaseDumper (hopefully easier re-use)

 * use ProcessExecutor from BaseDumper

 * fix assignments in __construct()
 * allow injection of ProcessExecutor

 * fix parameters

 * fix regex

 * write in 'system temp dir'
 * update test case (oh look, a duplicate regex)

 * move working directory related to BaseDumper

 * add quotes

 * place holder for these methods

 * use PharData to create zip/tar when necessary

 * add placeholder calls
 * add call to package() using PharData

 * finish downloadHg(), downloadSvn()

 * put to use

 * make BaseDumper abstract (to force extension)
 * make BaseDumper implement Interface (makes for less code in the implementation)

new functionality for dumping as .tar.gz

tar instead of tar.gz, new abstract dumpertest class

creates a local git repo instead of fetching a remote one

more oo-ish version of it

no constructor

 * refactor tests to be less linux-specific (used Composer\Util to wrap calls)

 * make filename only the version

 * various cs fixes (idention, tabs/spaces, doc blocks, etc.)
 * fixed a typo'd exception name

 * refactored downloading:
   * removed download*() methods
   * added dep on Composer\Factory to setup a DownloadManager instance

 * update CS with feedback from @stof

 * ArrayDumper doesn't extend BaseDumper anymore (hence no conflict on the interface)
 * move keys from BaseDumper back to ArrayDumper
 * interface now declares dump() to always return void

Apparently I had to update the lock.

CS fixes (tabs for spaces)
Bugfix: sprintf() was missing.

Fix docblock for @stof. ;)

Pull in lock from master.

Update lock one more time (hope it still merges).

whitespace

Revert ArrayDumper static keys
2013-03-28 12:49:52 +01:00
Jordi Boggiano 6f0a71a158 Merge pull request #1736 from nfx/patch-1
Travis using PHPUnit version from require-dev
2013-03-27 13:25:36 -07:00
Serge Smertin 31b6dd8356 Travis using PHPUnit version from require-dev
in order not to use system version of PHPUnit and have unexpected bugs - it could be better to invoke PHPUnit from development dependencies

removing xdebug extension

modified travis executable
2013-03-27 20:23:01 +01:00
Jordi Boggiano 3cc5698e7b Allow PHP 5.2 autoloaders to consume namespace, classmap and include path files, fixes #1730 2013-03-27 18:45:33 +01:00
Jordi Boggiano 842155d69e Use original URL for exceptions, not the one containing authorization, fixes #1722 2013-03-23 19:43:08 +01:00
Jordi Boggiano 6b0a7d9fe4 Merge pull request #1718 from reinink/patch-1
Update should-i-commit-the-dependencies-in-my-vendor-directory.md
2013-03-21 08:03:57 -07:00
Jordi Boggiano a0a9536d90 Avoid failing if COMPOSER env var is empty, refs #1720 2013-03-21 16:00:45 +01:00