pulse00 / composer-eclipse-plugin Goto Github PK
View Code? Open in Web Editor NEWEclipse integration for the PHP Dependency Manager Composer
Home Page: http://composer.dubture.com/
License: MIT License
Eclipse integration for the PHP Dependency Manager Composer
Home Page: http://composer.dubture.com/
License: MIT License
Searching in the Composer Editor sometimes stops working.
I assume, there are some issues with aborting the get requests.
gossi
Runtime settings are stored in: /.metadata/.plugins/org.eclipse.core.runtime/.settings/com.dubture.composer.core.prefs
Here is how to do it:
cat com.dubture.composer.core.prefs
=> use_project_phar=true
cat com.dubture.composer.core.prefs
=> use_project_phar=false
cat com.dubture.composer.core.prefs
=> use_project_phar=true
should be false at the end
Eclipse runs its own environment. Thus a user .profile to set additional environment settings is ignored. It's the blank environment by the operating system. This causes the following problem.
php via os: 5.3
php via homebrew: 5.4
composer.json:
require: {
"php": ">= 5.4"
}
running composer from inside eclipse uses the os environment with the php 5.3 version and results in the following error:
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- The requested package php >=5.4 could not be found.
Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according to your minimum-stability setting
see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion> for more details.
Read <http://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.
When run via terminal the user environment is used and thus can be installed. This is unfortunately very sad for the end user as he does not know what's going on...
Provide a properties dialog for repositories that have properties.
In the composer UI, when editing a record in a TableSection, a dirty change isn't fired when the record changes. At the moment this affects changing an author or dependency.
Affected lines (e.g. AuthorSection, lines 192-195) :
Person author = (Person)((StructuredSelection)authorViewer.getSelection()).getFirstElement();
PersonDialog diag = new PersonDialog(authorViewer.getTable().getShell(), author.clone());
if (diag.open() == Dialog.OK) {
author = diag.getPerson();
Person gets obviously passed as copy and not as reference? Thus if there happens a change within the dialog, the propertyChangeListeners don't fire back to the composerPackage in ComposerFormEditor.
Currently the composer metadata is stored in memory. Therefore each time eclipse is re-opened, a full build is needed to collect all metadata.
Use h2 store to persist the data across sessions.
Integrate Json Editor as page in the Composer Editor.
Bottom right on the configuration page.
Depends on pulse00/Composer-Java-Bindings#5
To make the dependency graph more useful for debugging dependency problems, the following functionality should be added:
composer.json
when double clicking a nodeI think it's just a simple matter of properly managing plugin.xml of the composer feature
At the moment, searching for a new dependency at almost every(?) char that is entered, a json is downloaded, parsed and so forth and the result is displayed in the result list. With that it happens, that I enter a word, but only see the first chars, need to wait for the download job to be done and then see the rest of my chars written down by a ghostwriter. I sometimes see the rainbow cursor on my mac.
So, here is an idea to speed up the search:
Update the cache:
=> Would be a fast responsive incremental search
Vendor dependencies could be added to the PHP Libraries
of PDT, and projects which require the exact same versions of the library could share the same libraries internally - this would improve the indexing times tremendously as only one library needs to be indexed per workspace.
Hello,
Add dependency dialog does not suggest any items filtered by the entered string for a ZF2 project in Zend Studio 10.
Preconditions:
Have Composer extra plugins installed.
The plugin version is com.dubture.composer.feature_0.0.7.201302172111
I created a ZF2 project.
Right-click on project name in PHP Explorer view > Configure > Convert to Faceted form.
Project properties dialog is launched > Go to Project Facets > Select both "Composer PHP Facet" and "PHP Core Facet" > Apply > OK
Scenario:
Right-click on project name in PHP Explorer view > Composer > Add dependency
Type some suitable word in Search string, e.g. zend, http
Wait for a while.
Expected:
Matching items should be listed.
Actual:
You just get an empty list.
Could you, please, handle this problem?
Thanks,
Kalin Yanev
When initializing composer, I see that it's enough to fill in project name, author name and email.
Then initialized composer.json seems ok, but it also contains minimumStability set to "null" even though I haven't specified any value
To reduce build times, the vendor folder should be marked as derived
automatically.
At the moment, the Eclipse Composer plugin is bundled as part of the symfony plugin. Is it mature enough to make it available as a standalone feature as part of PEX?
When a namespace is injected into a new class, the target-dir
option is not respected:
{
"name": "dubture/core-bundle",
"type": "symfony-bundle",
"autoload": {
"psr-0": { "Dubture\\CoreBundle": "" }
},
"target-dir": "Dubture/CoreBundle"
}
When a new class is created in Dubture/Core/Controller
, the injected namespace is Controller
instead of Dubture\Core\Controller
Currently it's only possible to update all dependencies.
If I would like to update a single dependency I can't do it right now.
When I'm trying to access I have error:
An error has occurred. See error log for more details.
org.eclipse.core.internal.resources.Project cannot be cast to org.eclipse.dltk.core.IScriptProject
and in logs I see:
preference option missing: com.dubture.composer.core/com.dubture.composer.corecomposer_phar (com.dubture.composer.ui.preferences.ComposerConfigurationBlock)
preference option missing: com.dubture.composer.core/com.dubture.composer.corephp_executable (com.dubture.composer.ui.preferences.ComposerConfigurationBlock)
Eclipse 4.3 (latest), PDT 3.2, DLTK 5.0
Once the buildpath management builder runs, at the end, sometimes the "PHP Include Path" node of the project explorer is replaced by the "PHP Language Library" which in fact looks like a duplication for this node.
Maybe because of dltk nightly? Sometimes there happens to be errors in builders after the composer builder, during this the "PHP Include Path" node is visible.
Steps to reproduce:
Result:
Build halts at "Invoking 'Lucene Builder' on project..."
Expected result:
Completed build.
Additional notes:
Composer is not required by Symfony 2.0.X project, so it should not be added to the project.
Composer is not configured by default -- so if it's required, it should be included and configured, so issues like that would not appear.
Some basic documentation would be useful! I know software is provided as is with no guarantee, but basics should work out of the box with no hidden tips on how to configure it.
Many thanks!
When I modify the composer.json with the plugin, backslashes are not escaped anymore. This makes composer.json invalid.
Original composer.json:
"scripts" : {
"post-update-cmd" : [
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
],
"post-install-cmd" : [
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
]
},
And the result after saving the file with the plugin:
"scripts" : {
"post-update-cmd" : [
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installAssets",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installRequirementsFile"
],
"post-install-cmd" : [
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installAssets",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installRequirementsFile"
]
},
Update to use the new APIs.
To make the packagist.org
search section available in other views, extract it so it has no direct dependency to the EditorPart.
see #25
Put a checkbox above the repositories treeviewer which enables/disables the usage of packagist.
Depends on: pulse00/Composer-Java-Bindings#6
Include the UI for these 2 collections on the right side of the autoload page.
Hey,
I see in your wiki list (https://github.com/PHPsrc/wiki/wiki/PDT-Extension-project-list) there is another composer eclipse plugin: https://github.com/bitExpert/eclipse-composer Maybe get in touch with that guy and deliver one great and big composer plugin instead of different smaller ones? just an idea. I might even thinking about contributing a gui, similar to the eclipse pde tools for plugin.xml but just for composer.json.
gossi
Tried to initialize a composer project today. I entered my name "gossi" in the author field and got the "Author Information invalid" error message. Can't finish the dialog, the button is greyed out.
I converted a project into a composer project. While rebuilding the project, it holds at 50% with the message Invoking 'Lucene Builder' on project 'xxx'
. I stopped the process after 5 minutes (stopping the job doesn't work either, killed eclipse the assassin way via activity monitor on osx). At that time I didn't hat the Lucene Indexing Feature installed. I thought, hmm maybe that could help, installed it from p2.dubture.com, restarted eclipse but same message again. Eclipse by then almost unusable, because that job was blocking almost every other job, that got enqueued in the process window. I removed it by manually removing the composer and the lucene by manually editing the .project file.
Hi,
I made a mockup for a possible composer UI. Similar to the RCP Plugin manifest editor.
Here it is: http://www.abload.de/image.php?img=composer_eclipse_plugllp72.jpg
I would also like to help out with programming. Can you help me get involved?
Thanks
gossi
Whenever a change to the composer.json happens, update the Composer-Editor.
3 possible ways to add listeners, that watch the composer.json for changes:
Resources on that topic:
I've already seen there is a Composer Builder that experimentally manages the build-path. So, here are my ideas:
Add a Build-Path Page to the Composer Editor. This page contains an introductionary text and a checkbox to enable or disable automated build-path management (technically enables or disables the composer builder).
Below are two sections for include and exclude folders.
Scanning for new folders is done, by looping over packages installed from composer, reading each composer.json looking inspecting autoload to get the relevant folders. Add include folders, and remove exclude folders (includes and excludes are stored in the project itself .settings
).
Done after each composer installation.
I'm right now not really sure about (1) in the applying.
Composer executions happening in a job should react whether the user triggered the cancel action. This requires a constant polling if the cancel flag has been set.
At the moment, the composer plugin adds a composer.phar per project. Actually, I run my own composer installation via the composer
command on my own shell. Others use php composer.phar
. However, there is a composer available at these systems. The question is to use them?
A global configuration page can help here I think where end-users can select which composer executable to use. The two options from above or - as third option - to install composer.phar per project. However, I know eclipse runs its own environment when it comes to shell usage. So, the first option with composer
would require the exact path to it. The second option with php composer.phar
would require a php executable (which has already a configuration page from pdt) and a path to composer.phar, third option would require a php executable only (?).
Assuming an end-user is using one of the composer commands the first time. A dialog pop ups telling him, that a composer executable is not defined yet and he should please do so, explaining him all the options.
The dropdown of the available versions when installing pulls the versionnumbers from packagist.org. However, having fixed version constraints is not recommended, so there should be a way to set the version constraint using wildcards e.g. 1.0.*
.
The dependency graph shows some random dependencies without connection to any other node for the zend-framework: http://twitter.yfrog.com/z/od7l0pep
Hello,
I have problems in creating composer.json file for a php project in Zend Studio 10.
The plugin version is:
com.dubture.composer.feature_0.0.7.201302172111
Preconditions:
Have Composer extra plugins installed.
I created a ZF1/PHP project.
Right-click on project name in PHP Explorer view > Configure > Convert to Faceted form.
Project properties dialog is launched > Go to Project Facets > Select both "Composer PHP Facet" and "PHP Core Facet" > Apply > OK
Scenario:
Right-click on project name in PHP Explorer view > Composer > Add dependency
You get "No composer.phar found" dialog, you are asked if you want to install composer in this project. Click OK.
composer.phar is created and added to the project. This is good.
Right-click on project name in PHP Explorer view > Composer > Install dependency
You get "No composer.json found" dialog, you are asked if you want to create one. Click OK.
Result:
Just after that you get unexpectedly "No composer.phar found" dialog again. You are asked if you want to install composer in this project. Pay attention composer.phar was already created. Anyway, click OK.
You get an error message in a dialog:
"Downloading composer.phar" has encountered a problem. See log for details.
But the log does not say anything helpful, you jut get this one:
!ENTRY com.dubture.composer.core 4 0 2013-03-20 15:32:57.895
!MESSAGE Error while downloading composer.phar. See {workspace}/.metadata/.log for details
Anyway, composer.json is not created.
Could you please handle this problem?
Thanks,
Kalin Yanev
When searching for a dependency with a space, there is a NPE. Here is the trace from the log:
!ENTRY org.eclipse.ui 4 4 2012-10-16 23:34:09.559
!MESSAGE An internal error has occurred.
!STACK 0
java.lang.IllegalArgumentException
at java.net.URI.create(URI.java:841)
at org.apache.http.client.methods.HttpGet.<init>(HttpGet.java:69)
at org.getcomposer.core.packagist.Downloader.downloadResource(Downloader.java:76)
at org.getcomposer.core.packagist.SearchResultDownloader.loadPackages(SearchResultDownloader.java:60)
at org.getcomposer.core.packagist.SearchResultDownloader.searchPackages(SearchResultDownloader.java:34)
at com.dubture.composer.core.ui.wizard.require.RequirePageOne$1.runInUIThread(RequirePageOne.java:49)
at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:95)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3944)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3621)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
at org.eclipse.jface.window.Window.open(Window.java:801)
at com.dubture.composer.core.ui.handler.RequireHandler.execute(RequireHandler.java:32)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:290)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:76)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:229)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:210)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:131)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:171)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:814)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:707)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$7(HandledContributionItem.java:691)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$4.handleEvent(HandledContributionItem.java:630)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4134)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1458)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1481)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1271)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3980)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3619)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1029)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:923)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
Caused by: java.net.URISyntaxException: Illegal character in query at index 43: https://packagist.org/search.json?q=symfony http
at java.net.URI$Parser.fail(URI.java:2810)
at java.net.URI$Parser.checkChars(URI.java:2983)
at java.net.URI$Parser.parseHierarchical(URI.java:3073)
at java.net.URI$Parser.parse(URI.java:3015)
at java.net.URI.<init>(URI.java:577)
at java.net.URI.create(URI.java:839)
... 57 more
When I try to edit the composer.json with the plugin (Open with > Composer then I click the composer.json tab), I get an StackOverflowError.
Unhandled event loop exception
java.lang.StackOverflowError
I have 2 projects in workspace: a ZF2 project (with composer.json) and new empty project.
I clicked "Configure->Convert to Composer" on both.
Then I tried clicking "Initialize Composer" on empty project -> Seen the initialize project wizard, pressed cancel.
Then I clicked "Initialize Composer" on ZF2 project and then on that empty project again. In both cases I got NPE error (below).
It seems that it happens when trying to open error message that project is already initialized. So instead of message, nothing happens.
!ENTRY org.eclipse.ui 4 0 2012-09-24 09:35:02.431
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.e4.core.di.InjectionException: java.lang.NullPointerException
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:63)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:229)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:210)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:131)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:171)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:854)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:747)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$7(HandledContributionItem.java:731)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$4.handleEvent(HandledContributionItem.java:670)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4134)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1458)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1481)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1271)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3980)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3619)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1022)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:916)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:585)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:540)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
Caused by: java.lang.NullPointerException
at com.dubture.composer.core.ui.handler.InitHandler.execute(InitHandler.java:33)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:76)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
... 37 more
When trying to install Composer feature I'm getting following error:
Cannot complete the install because one or more required items could not be found.
Software being installed: Composer Feature 0.0.5 (com.dubture.composer.feature.feature.group 0.0.5)
Missing requirement: Composer Eclipse Plugin 0.0.5 (com.dubture.composer.core 0.0.5) requires 'bundle com.google.gson 0.0.0' but it could not be found
Cannot satisfy dependency:
From: Composer Feature 0.0.5 (com.dubture.composer.feature.feature.group 0.0.5)
To: com.dubture.composer.core [0.0.5]
At the moment, there is this AddNature handler, which installs the composer nature to a project. Also there is a Facet installer, which installs the composer nature and additionally the composer builder (not through nature-builder binding).
The nature enables a builder, which shall be used for the automated buildpath management -> #27. As builders are bound to a nature, this is a good thing.
Generally, I would say, activating the composer facet and not the nature. This requires the project to have facet support. What if not and a user wants to install composer support and facets are not installed for that particular project. Force the install of the facet first?
Add support for the create-project command via a New composer project
wizard
e..g what should be the source folder, what the test folder etc.
The readme.md points to https://github.com/pulse00/Composer-Eclipse-Plugin/tree/stable which doesn't exist
Go to a composer enabled project an open its preferences. Right-click on a project -> Properties. Go to "Project Facets". Unlock the composer facet if necessary (right-click -> unlock). Uncheck the composer facet:
"Composer facet 1 cannot be uninstalled."
I'm getting an exception in the log which says that json file begins with array instead with object. Indeed, that file begins with array, not object, but is it a bug in composer, or Gson?
Below is log with exception and futher below is composer file. It's from a ZF2-based project.
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:180)
at com.google.gson.Gson.fromJson(Gson.java:755)
at com.google.gson.Gson.fromJson(Gson.java:694)
at com.dubture.indexing.core.build.IndexingBuilder.callParticipants(IndexingBuilder.java:117)
at com.dubture.indexing.core.build.IndexingBuilder.access$0(IndexingBuilder.java:96)
at com.dubture.indexing.core.build.IndexingBuilder$IndexingResourceVisitor.visit(IndexingBuilder.java:179)
at org.eclipse.core.internal.resources.Resource$2.visit(Resource.java:126)
at org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:85)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:82)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:127)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:95)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:52)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:124)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:108)
at com.dubture.indexing.core.build.IndexingBuilder.fullBuild(IndexingBuilder.java:62)
at com.dubture.indexing.core.build.IndexingBuilder.build(IndexingBuilder.java:46)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2
at com.google.gson.stream.JsonReader.expect(JsonReader.java:339)
at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:322)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:168)
... 30 more
[
{
"name": "zendframework/zendframework",
"version": "2.0.0",
"version_normalized": "2.0.0.0",
"source": {
"type": "git",
"url": "git://github.com/zendframework/zf2.git",
"reference": "release-2.0.0"
},
"dist": {
"type": "zip",
"url": "https://github.com/zendframework/zf2/zipball/release-2.0.0",
"reference": "release-2.0.0",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"replace": {
"zendframework/zend-acl": "self.version",
"zendframework/zend-authentication": "self.version",
"zendframework/zend-barcode": "self.version",
"zendframework/zend-cache": "self.version",
"zendframework/zend-captcha": "self.version",
"zendframework/zend-code": "self.version",
"zendframework/zend-config": "self.version",
"zendframework/zend-console": "self.version",
"zendframework/zend-crypt": "self.version",
"zendframework/zend-db": "self.version",
"zendframework/zend-di": "self.version",
"zendframework/zend-dom": "self.version",
"zendframework/zend-escaper": "self.version",
"zendframework/zend-eventmanager": "self.version",
"zendframework/zend-feed": "self.version",
"zendframework/zend-file": "self.version",
"zendframework/zend-filter": "self.version",
"zendframework/zend-form": "self.version",
"zendframework/zend-http": "self.version",
"zendframework/zend-i18n": "self.version",
"zendframework/zend-inputfilter": "self.version",
"zendframework/zend-json": "self.version",
"zendframework/zend-ldap": "self.version",
"zendframework/zend-loader": "self.version",
"zendframework/zend-log": "self.version",
"zendframework/zend-mail": "self.version",
"zendframework/zend-markup": "self.version",
"zendframework/zend-math": "self.version",
"zendframework/zend-memory": "self.version",
"zendframework/zend-mime": "self.version",
"zendframework/zend-modulemanager": "self.version",
"zendframework/zend-mvc": "self.version",
"zendframework/zend-navigation": "self.version",
"zendframework/zend-paginator": "self.version",
"zendframework/zend-progressbar": "self.version",
"zendframework/zend-serializer": "self.version",
"zendframework/zend-server": "self.version",
"zendframework/zend-servicemanager": "self.version",
"zendframework/zend-session": "self.version",
"zendframework/zend-soap": "self.version",
"zendframework/zend-stdlib": "self.version",
"zendframework/zend-tag": "self.version",
"zendframework/zend-text": "self.version",
"zendframework/zend-uri": "self.version",
"zendframework/zend-validator": "self.version",
"zendframework/zend-view": "self.version",
"zendframework/zend-xmlrpc": "self.version"
},
"require-dev": {
"doctrine/common": ">=2.1"
},
"suggest": {
"doctrine/common": "Doctrine\Common >=2.1 for annotation features",
"ext-intl": "ext/intl for i18n features",
"pecl-weakref": "Implementation of weak references for Zend\Stdlib\CallbackHandler",
"zendframework/zendpdf": "ZendPdf for creating PDF representations of barcodes",
"zendframework/zendservice-recaptcha": "ZendService\ReCaptcha for rendering ReCaptchas in Zend\Captcha and/or Zend\Form"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0-dev"
}
},
"installation-source": "dist",
"autoload": {
"psr-0": {
"Zend": "library/",
"ZendTest": "tests/"
}
}
}
]
Parse composer.json
and resolve the paths to the psr-0 autoloaders to provide namespace resolving functionality for other plugins.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.