Story #41031

Composer support for packaging

Added by Karsten Dambekalns almost 3 years ago. Updated almost 3 years ago.

Status:Resolved Start date:2012-09-17
Priority:Must have Due date:
Assigned To:Christian Jul Jensen % Done:

100%

Category:-
Target version:2.0 beta 1
Story points-
Velocity based estimate-

Subtasks

Task #40989: Autoloader in ClassReflection is not unregistered if reachedResolvedChristian Jul Jensen

Task #41310: Web/index.php is not installedResolvedChristian Jul Jensen


Related issues

related to TYPO3.Flow - Bug #41157: TYPO3.FLOW3.object.excludeClasses gives fatal error if a ... Resolved 2012-09-21
related to TYPO3.Flow - Feature #37727: Make Package.php optional Resolved 2012-06-04
related to TYPO3.Flow - Bug #41088: PackageManagerTest::packageStatesConfigurationContainsRel... Resolved 2012-09-20
related to TYPO3.Flow - Bug #41091: PackageManagerTest::createPackageThrowsExceptionForExisti... Resolved 2012-09-20
related to TYPO3.Flow - Bug #41092: PackageManagerTest::deactivatePackageThrowsAnExceptionIfP... Resolved 2012-09-20
related to TYPO3.Flow - Bug #41093: PackageManagerTest::deletePackageThrowsAnExceptionIfPacka... Resolved 2012-09-20
related to TYPO3.Flow - Bug #41181: Package->getClassesPath returns path without trailing slash Resolved 2012-09-21
related to TYPO3.Flow - Bug #41334: Handle missing type in composer manifest gracefully Resolved 2012-09-24
related to TYPO3.Flow - Task #41414: Check packageKey naming / file structure below Packages/V... Needs Feedback 2012-09-27
related to TYPO3.Flow - Bug #41418: Manifestpath detection broken, exception in production co... Resolved 2012-09-27
related to TYPO3.Flow - Bug #41449: Generated composer manifest should have 'Description' field Resolved 2012-09-28
related to TYPO3.Flow - Bug #41497: PackageStates are written on each request Resolved 2012-10-01
related to TYPO3.Flow - Bug #41657: ActionRequest does not resolve correctly cased package key Resolved 2012-10-07
related to TYPO3.Flow - Task #42319: Make PATTERN_MATCH_PACKAGEKEY more strict (again) Resolved 2012-10-23
related to TYPO3.Flow - Bug #42807: Libraries/doctrine/dbal/docs/examples/sharding/composer.j... Resolved 2012-11-09

Associated revisions

Revision dfab7ff4
Added by Karsten Dambekalns almost 3 years ago

[TASK] Make PSR-0 and composer compatible

Moves all classes into a PSR-0 directory structure and adds a composer
manifest instead of Package.xml.

Change-Id: Ia90a9b2d0f9e40ee8e2ecd568fbc6260c673f6f8
Migration: TYPO3.FLOW3-201209201112
Related: #41031
Releases: 1.2

Revision b811e147
Added by Christian Jul Jensen almost 3 years ago

[TASK] Handle exceptions thrown in ClassReflection

When a class cannot be loaded for reflection, it will be ignored and a message
is logged.

This makes sure that classes that are never used do not break the system. If
they are indeed used later, things will still break, but even at a more
helpful position.

Change-Id: Ief820ad6207378b7e1a5da6ae78aea87bd4a16b1
Related: #41031
Releases: 1.2

Revision f9b09a91
Added by Christian Jul Jensen almost 3 years ago

[TASK] Add Composer installer script and resources

Upon running 'install' or 'update' with composer, required paths
and files outside of TYPO3.FLOW3 package must be created.

Change-Id: Ieddd5aa306de3026478e71d2465b591453777a49
Related: #41031
Releases: 1.2

Revision f227c309
Added by Christian Jul Jensen almost 3 years ago

[TASK] Add composer manifest

Change-Id: I84ca5b28dcdc82aa4d74a1cec5f22bab40b51820
Related: #41031
Releases: 1.2

Revision 5c1bde47
Added by Christian Jul Jensen almost 3 years ago

[TASK] Update referenced paths to reflect PSR-0 paths

See Idad621923ffccdb7b2742d9aba0ff22fdab3e192 for the files being moved.

Change-Id: Ie13b438c0c5d3b0e6616ca56bd32bcda11f5c2c3
Related: #41031
Releases: 1.2

Revision 6a5d4d75
Added by Christian Jul Jensen almost 3 years ago

[!!!][TASK] Move all classes to PSR-0 compatible path

In order to be fully PSR-0 compatible the path below the classes
directory should now be in a path identical to the namespace

Change-Id: Idad621923ffccdb7b2742d9aba0ff22fdab3e192
Related: #41031
Releases: 1.2

Revision bdc5a0ef
Added by Karsten Dambekalns almost 3 years ago

[FEATURE] Make metadata available to migrations

This makes metadata from Package.xml and composer.json available
to migrations.

Change-Id: Icda4c3590bf9f3d468faee1cacf7d30ad81f742f
Related: #41031
Releases: 1.2

Revision 9b9e92b1
Added by Christian Jul Jensen almost 3 years ago

[TASK] Fix PSR-0 compatibility for functional tests

Change-Id: Ia621032e73ef77fc8a8529ae13bd1ae5e5a4b0cd
Related: #41031
Releases: 1.2

Revision 6fdd8553
Added by Christian Jul Jensen almost 3 years ago

[TASK] Make package management use Composer

Refactor package management to use Composer, also relax constraints in order
to utilize 3rd party composer / PSR-0 components.

Change-Id: I994fe34edd3c7d715943f051ab8fb38d27fd81e3
Fixes: #41031
Releases: 1.2

Revision 6e88cac9
Added by Christian Jul Jensen almost 3 years ago

[TASK] Exclude specific classes from object management

In order to exclude classes from object management - either for performance
or compatibility reasons - create a configuration that allows specific
classes to be excluded. Most be configurable outside of package in question
to support 3rd party components

Change-Id: I6e0f4eaea0c037ca33cd16dceeea38e5474faa7c
Related: #41031
Releases: 1.2

Revision 61302517
Added by Karsten Dambekalns almost 3 years ago

[TASK] Add code migration to "composerify" a package

The migration moves all class files into a PSR-0 compatible directory
structure and adds a composer manifest; Package.xml is removed.

Change-Id: I2054b3ece5b98ed6d3232e0da06ce36fb2bf41e9
Related: #41031
Releases: 1.2

Revision 2e2d98f6
Added by Karsten Dambekalns almost 3 years ago

[FEATURE] Isolate migrations and provide package data

With this change migrations have access to the data of the target
package (the package currently being migrated) and can be sure that each
migration run is isolated from other runs (the internal state is reset
for each execution).

The command output is tweaked a little along the way.

Change-Id: I9d8f27eaa49420e303a6a929fed43d4887df676e
Related: #41031
Releases: 1.2

Revision 5950a764
Added by Karsten Dambekalns almost 3 years ago

[FEATURE] Add moveFile() and deleteFile() operations to migrations

Code migrations now can use deleteFile() and moveFile() to work on
files.

Change-Id: I66ecfc324ab32de16d348ab92b0988456c0ca46d
Related: #41031
Releases: 1.2

Revision cbe85f30
Added by Karsten Dambekalns almost 3 years ago

[TASK] Make PSR-0 and composer compatible

Moves all classes into a PSR-0 directory structure and adds a composer
manifest instead of Package.xml.

Change-Id: I1a1be9804b18a4d0a0cff5b792af683402a8c8c9
Migration: TYPO3.FLOW3-201209201112
Related: #41031

Revision a18695b5
Added by Karsten Dambekalns almost 3 years ago

[TASK] Make PSR-0 and composer compatible

Moves all classes into a PSR-0 directory structure and adds a composer
manifest instead of Package.xml.

Change-Id: Iac4e0b332eb24151d6140ed95326a335f71c9d6a
Migration: TYPO3.FLOW3-201209201112
Related: #41031
Releases: 1.2

Revision e23e727e
Added by Karsten Dambekalns almost 3 years ago

[TASK] Make PSR-0 and composer compatible

Moves all classes into a PSR-0 directory structure and adds a composer
manifest instead of Package.xml.

Change-Id: I63938f7af221cb243722db590fceca17ee7465ad
Migration: TYPO3.FLOW3-201209201112
Related: #41031
Releases: 1.2

Revision 9a68c0eb
Added by Karsten Dambekalns almost 3 years ago

[TASK] Require christianjul/installers directly

Change-Id: I9bed033db14d0f1005c65ffe99d135c5e56e81fc
Related: #41031
Releases: 1.2

Revision 1961f20b
Added by Karsten Dambekalns almost 3 years ago

[TASK] Add christianjul/installers dependency

Change-Id: I81e22636c7aed02247bedde12ca1571b106650a6
Related: #41031
Releases: 1.2

Revision 4449c2aa
Added by Karsten Dambekalns almost 3 years ago

[TASK] Add christianjul/installers dependency

Change-Id: I7182993c8c2f83c6398c716535789ff0bff1a085
Related: #41031
Releases: 1.2

Revision 79fade8b
Added by Karsten Dambekalns almost 3 years ago

[TASK] Adjust composer manifest

Change-Id: I025ad8f771254d96e7e08a1eb59f5d7c3153a4a3
Related: #41031
Releases: 1.2

Revision 1b33e697
Added by Karsten Dambekalns almost 3 years ago

[TASK] Adjust composer manifest

Change-Id: Id0ce9fcb53ce013ea536c87bc8aab0a3b9f86a02
Related: #41031
Releases: 1.2

Revision 0ea33a38
Added by Karsten Dambekalns almost 3 years ago

[TASK] Update class exclusion to changed composer installer name

The installer change it's package key from christianjul.installers to
flow3.composerinstallers so the exclusion needs to be adjusted.

Change-Id: I4fae3a7a72fabcf83711c8318a05ecfccbfb10f7
Related: #41031
Releases: 1.2

Revision d3039191
Added by Christian Jul Jensen almost 3 years ago

[TASK] Update settings to new name of installer package

Change-Id: I1dcab45f5644a535fb8eedafaa48e3efb711e2b8
Related: #41031
Releases: 1.2

Revision 4179179d
Added by Karsten Dambekalns almost 3 years ago

[TASK] Tweak install script behavior, add (example) configuration

With this change the composer post install/update script will discern
between "Essentials", being files that will always be copied - even if
they already exist in their target location - and "Defaults", being
files that will be copied only if not already existing.

This is used to add the example configuration files as essentials and a
Routes.yaml as default.

Change-Id: I836e08a3df6f3facba19eebd97d2e5ad06597f37
Related: #41031
Releases: 1.2

Revision 3922aeae
Added by Karsten Dambekalns almost 3 years ago

[!!!][TASK] Composerify base distribution

Removes submodules in favor of installing via composer. Files installed
via composer from the FLOW3 package are removed as well.

Change-Id: I2fafca13532d9172e4a339bfce9d9719e4cef632
Related: #41031
Releases: 1.2

Revision ee4d1f8c
Added by Karsten Dambekalns almost 3 years ago

[TASK] Move .gitignore to composer install default

Change-Id: Ic71baf5b76ae113ff93cd5a32e9dc4ac8af44bb3
Related: #41031
Releases: 1.2

Revision ee8f8e1d
Added by Christian Jul Jensen almost 3 years ago

[TASK] Exclude classes with broken PSR-0 in DomCrawler

See https://github.com/symfony/DomCrawler/pull/7

Change-Id: Id3fbb8ad5154c633b7153b4f8eef742f385b05a3
Related: #41031
Releases: 1.2

Revision 98395c76
Added by Karsten Dambekalns over 2 years ago

[TASK] Update documentation to composer changes

This updates the documentation to fix the most prominent errors and
inconsistencies regarding package handling and file locations that were
caused by the composer changes.

Change-Id: Icee1498527845c2744849bb560073312dbdd6fb0
Related: #41031
Releases: 1.2

Revision 4f162e24
Added by Karsten Dambekalns over 2 years ago

[TASK] Revert exclusion of classes with broken PSR-0 in DomCrawler

This reverts commit ee8f8e1d898c15549c22278e3fe80cd5702df182 (source is
Id3fbb8ad5154c633b7153b4f8eef742f385b05a3).

The fix is no longer needed, as DomCrawler has been fixed, see
the pull request at https://github.com/symfony/DomCrawler/pull/7

Change-Id: Ic1466508f676b250e6177358ead36a8acdb9661b
Related: #41031
Releases: 1.2

History

#1 Updated by Gerrit Code Review almost 3 years ago

Patch set 1 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/14686

#2 Updated by Gerrit Code Review almost 3 years ago

Patch set 2 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/14686

#3 Updated by Gerrit Code Review almost 3 years ago

Patch set 3 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/14686

#4 Updated by Gerrit Code Review almost 3 years ago

Patch set 4 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/14686

#5 Updated by Gerrit Code Review almost 3 years ago

Patch set 5 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/14686

#6 Updated by Gerrit Code Review almost 3 years ago

Patch set 6 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/14686

#7 Updated by Gerrit Code Review almost 3 years ago

Patch set 7 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/14686

#8 Updated by Gerrit Code Review almost 3 years ago

Patch set 8 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/14686

#9 Updated by Gerrit Code Review almost 3 years ago

Patch set 9 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/14686

#10 Updated by Gerrit Code Review almost 3 years ago

Patch set 10 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/14686

#11 Updated by Gerrit Code Review almost 3 years ago

Patch set 11 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/14686

#12 Updated by Gerrit Code Review almost 3 years ago

Patch set 12 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/14686

#13 Updated by Gerrit Code Review almost 3 years ago

Patch set 13 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/14686

#14 Updated by Gerrit Code Review almost 3 years ago

Patch set 14 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/14686

#15 Updated by Christian Jul Jensen almost 3 years ago

  • Status changed from Accepted to Resolved
  • % Done changed from 50 to 100

Applied in changeset commit:6fdd85536dbf8737bcec264e7e3b1b75b6c265d2.

Also available in: Atom PDF