Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Composer project generation #3726

Merged
merged 19 commits into from
Jan 16, 2017
Merged

Composer project generation #3726

merged 19 commits into from
Jan 16, 2017

Conversation

vparfonov
Copy link
Contributor

@vparfonov vparfonov commented Jan 13, 2017

What does this PR do?

Composer is a popular PHP dependency manager (similar to Bower for
Javascript). A natural way to create a new project in PHP is by materializing it from a Composer package.

Moro details see here #2785

kaloyan-raev and others added 19 commits October 14, 2016 15:08
Composer is a popular PHP dependency manager (similar to Bower for
Javascript). A natural way to create a new project in PHP is by
materializing it from a Composer package like this:

  composer create-project laravel/laravel /projects/laravel

The above command fetches the 'laravel/laravel' Composer package from a
central repository (https://packagist.org/) and installs it at the
/project/laravel folder. The advantage against cloning a git repository
is that `composer create-project` will install all required
dependencies.

This patch contributes a new Composer plugin that:
- Defines a Composer project importer that can import the project source
from a Composer package.
- Defines an Import Project Registrar that registers the Composer
importer into the import project wizard.

The Composer project importer uses the 'location' property of the
SourceStorage model for the package name. As result the "source" of
project templates can be defined like this:

  "source": {
    "type": "composer",
    "location": "zendframework/zend-expressive-skeleton",
    "parameters": {}
  }

Signed-off-by: Kaloyan Raev <kaloyan.r@zend.com>
Signed-off-by: Kaloyan Raev <kaloyan.r@zend.com>
- Zend Framework Skeleton Application
- Zend Expressive Skeleton Application

Signed-off-by: Kaloyan Raev <kaloyan.r@zend.com>
Signed-off-by: Kaloyan Raev <kaloyan.r@zend.com>
Conflicts:
	ide/che-core-ide-templates/src/main/resources/samples.json
Conflicts:
	assembly/assembly-wsagent-war/pom.xml
	pom.xml
Signed-off-by: Kaloyan Raev <kaloyan.r@zend.com>
Signed-off-by: Kaloyan Raev <kaloyan.r@zend.com>
Conflicts:
	dashboard/src/components/typings/che.d.ts
	plugins/pom.xml
Signed-off-by: Kaloyan Raev <kaloyan.r@zend.com>
Signed-off-by: Kaloyan Raev <kaloyan.r@zend.com>
Signed-off-by: Vitalii Parfonov <vparfonov@codenvy.com>
@vparfonov vparfonov changed the title Kaloyan raev composer Composer project generation Jan 13, 2017
@vparfonov vparfonov merged commit bdac9ec into master Jan 16, 2017
@vparfonov vparfonov deleted the kaloyan-raev-composer branch January 16, 2017 12:05
@slemeur slemeur added this to the 5.1.0 milestone Jan 17, 2017
@slemeur slemeur added the kind/enhancement A feature request - must adhere to the feature request template. label Jan 17, 2017
@JamesDrummond JamesDrummond mentioned this pull request Jan 31, 2017
9 tasks
JPinkney pushed a commit to JPinkney/che that referenced this pull request Aug 17, 2017
* Composer project importer

Composer is a popular PHP dependency manager (similar to Bower for
Javascript). A natural way to create a new project in PHP is by
materializing it from a Composer package like this:

  composer create-project laravel/laravel /projects/laravel

The above command fetches the 'laravel/laravel' Composer package from a
central repository (https://packagist.org/) and installs it at the
/project/laravel folder. The advantage against cloning a git repository
is that `composer create-project` will install all required
dependencies.

This patch contributes a new Composer plugin that:
- Defines a Composer project importer that can import the project source
from a Composer package.
- Defines an Import Project Registrar that registers the Composer
importer into the import project wizard.

The Composer project importer uses the 'location' property of the
SourceStorage model for the package name. As result the "source" of
project templates can be defined like this:

  "source": {
    "type": "composer",
    "location": "zendframework/zend-expressive-skeleton",
    "parameters": {}
  }

Signed-off-by: Kaloyan Raev <kaloyan.r@zend.com>
Signed-off-by: Vitalii Parfonov <vparfonov@codenvy.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement A feature request - must adhere to the feature request template.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants