Correct issues around building eclipse plugins and update site
--------------------------------------------------------------

                 Key: UIMA-1846
                 URL: https://issues.apache.org/jira/browse/UIMA-1846
             Project: UIMA
          Issue Type: Bug
          Components: Build, Packaging and Test
    Affects Versions: 2.3.1
            Reporter: Marshall Schor
            Assignee: Marshall Schor
             Fix For: 2.3.1


While trying to test a patch for code used in a plugin, I tried building an 
eclipse update site and installing it, and found several problems.

1) Some "BND" bundle instructions for dealing with split packages accidently 
duplicated an "exclude". The newer release of the maven-bundle-plugin now 
treates these duplicates differently, causing an invalid Eclipse manifest to be 
generated, which is only discovered when you try to install from the 
update-site, and you get messages like: 
Eclipse: uimaj-ep-configurator: Descriptor Editor 2.3.1.SNAPSHOT 
(org.apache.uima.desceditor 2.3.1.SNAPSHOT) requires 'package 
!org.eclipse.jface.text 0.0.0' but it could not be found    

Note the "!" in front of the package name, which is caused by the duplicate 
exclude entry.  

2) The uimaj-ep-jcasgen plugin didn't specify the correct parent, so the maven 
bundle plugin wasn't properly configured.

3) The uimaj-ep-runtime plugin was depending on the maven-bundle-plugin:bundle 
goal to embed the dependent Jars.  However, this goal is turned off (by the 
common parent pom) and just the ordinary maven-jar-plugin is used.  

A fix to correct this by turning on the bundle goal, and turning off the jar 
goal, for just this project, showed up another error: the method of passing in 
the final build artifact name has a substitutable parameter for the version, 
which the maven-jar-plugin substitutes, but the maven-bundle-plugin doesn't.  

To work around this, don't use the "bundle" goal, go back to using the jar 
goal, adding a build step that uses maven-dependency-plugin:unpack-dependencies 
to create the embedding.

4) the feature projects (e.g. uimaj-eclipse-feature-tools) specifies the 
incubator urls, update these to the new locations.

5) the code in the update-site project put in to automatically copy the current 
plugins to the target needs to rename the jars from their maven names to the 
names that correspond to the eclipse plugin ids and follow Eclipse conventions

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to