You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by "Maarten Coene (JIRA)" <ji...@apache.org> on 2008/03/26 14:01:24 UTC

[jira] Created: (IVYDE-88) Add new target to build.xml to build the plugin with Ant

Add new target to build.xml to build the plugin with Ant
--------------------------------------------------------

                 Key: IVYDE-88
                 URL: https://issues.apache.org/jira/browse/IVYDE-88
             Project: IvyDE
          Issue Type: Improvement
            Reporter: Maarten Coene


In order to add IvyDE to gump, we need an Ant target to create the plugin.
In addition, this target could be very usefull for people wanting to build the plugin theirself.

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


[jira] Commented: (IVYDE-88) Add new target to build.xml to build the plugin with Ant

Posted by "Xavier Hanin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVYDE-88?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12582297#action_12582297 ] 

Xavier Hanin commented on IVYDE-88:
-----------------------------------

We need to have this to ease our releases too. If we can avoid the dependency on eclipse ant tasks I think it would be easier to use by people. BTW I think eclipse provides two ways to create an ant script to build a plugin, one of the two does not use eclipse tasks, but generates ugly code.

So I see several options:
- use eclipse ant tasks, and resolve the dependency on those tasks before using them (maybe we could use Ivy for that, but we have to see if a complete install is required)
- use eclipse generated build file
- manually add the target to our build.xml

The third isn't that complex and we keep control over the process (which allow to automatically generate a version like we do in Ivy build). The problem is that it isn't synchronize with build information provided to eclipse, so we have duplicates in maintenance. The first option require to clear out the dependency on eclipse for the build. I see no advantage in option 2.


> Add new target to build.xml to build the plugin with Ant
> --------------------------------------------------------
>
>                 Key: IVYDE-88
>                 URL: https://issues.apache.org/jira/browse/IVYDE-88
>             Project: IvyDE
>          Issue Type: Improvement
>            Reporter: Maarten Coene
>
> In order to add IvyDE to gump, we need an Ant target to create the plugin.
> In addition, this target could be very usefull for people wanting to build the plugin theirself.

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


[jira] Updated: (IVYDE-88) Add new target to build.xml to build the plugin with Ant

Posted by "Nicolas Lalevée (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/IVYDE-88?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nicolas Lalevée updated IVYDE-88:
---------------------------------

    Attachment: build.patch

Here is a patch that does the build of IvyDE.

The build depends on a eclipse install. In the eclipse plugins directory have to be installed the ivy bundle.
Then to launch the build:
{noformat}
ant -DbaseLocation=......./eclipse
{noformat}

Note also that this patch should be apply on the directory ivyde and not the ivyde/trunk. The build system expect the plugin to be alone in its directory. After being patched, here is the layout:
{noformat}
ivyde/
  build.xml
  builder/
  org.apache.ivyde.feature/
  tunk/
{noformat}

So if there is no objection against this build system, the layout to be committed should be:
{noformat}
ivyde/
  tunk/
    build.xml
    builder/
    org.apache.ivyde.feature/
    org.apache.ivyde.eclipse/ (source which were in trunk)
{noformat}



> Add new target to build.xml to build the plugin with Ant
> --------------------------------------------------------
>
>                 Key: IVYDE-88
>                 URL: https://issues.apache.org/jira/browse/IVYDE-88
>             Project: IvyDE
>          Issue Type: Improvement
>            Reporter: Maarten Coene
>         Attachments: build.patch
>
>
> In order to add IvyDE to gump, we need an Ant target to create the plugin.
> In addition, this target could be very usefull for people wanting to build the plugin theirself.

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


[jira] Commented: (IVYDE-88) Add new target to build.xml to build the plugin with Ant

Posted by "Nicolas Lalevée (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVYDE-88?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12588234#action_12588234 ] 

Nicolas Lalevée commented on IVYDE-88:
--------------------------------------

I am not in favor of using a dependency manager other that the Eclipse one. If we use Ivy for managing them, then we will have to convert somehow (manually or automatically) the IvyDE plugin dependencies into an ivy.xml. And then if we use the maven repo, there is the bridge between Ivy and Maven which is not perfect. I prefer having a first build system that have been proven to work.

I have looked closer to the PDE build system. In fact it is composed of ant tasks and a set of generic build files (which make me think of easyAnt). The tasks do the generation of ant build files, the same kind of build files which are generated manually in the UI. For some reason, these ask tasks are not available publicly, so that's why we need to start the eclipse bootstrap and we cannot use tasks. It seems that they prefer exposing targets more than tasks... Now I have to find which target have to be called and we will have a build system soon.

I know that this PDE build system doesn't seem clean compared to an ant + ivy solution, but at least we could make it work earlier for end users.



> Add new target to build.xml to build the plugin with Ant
> --------------------------------------------------------
>
>                 Key: IVYDE-88
>                 URL: https://issues.apache.org/jira/browse/IVYDE-88
>             Project: IvyDE
>          Issue Type: Improvement
>            Reporter: Maarten Coene
>
> In order to add IvyDE to gump, we need an Ant target to create the plugin.
> In addition, this target could be very usefull for people wanting to build the plugin theirself.

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


[jira] Commented: (IVYDE-88) Add new target to build.xml to build the plugin with Ant

Posted by "Nicolas Lalevée (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVYDE-88?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12582278#action_12582278 ] 

Nicolas Lalevée commented on IVYDE-88:
--------------------------------------

I know that to build an Eclipse plugin from ant, we can use Eclipse ant tasks. But it needs a complete Eclipse install somewhere. Will it be possible to have installed an Eclipse on the gump machine ?

> Add new target to build.xml to build the plugin with Ant
> --------------------------------------------------------
>
>                 Key: IVYDE-88
>                 URL: https://issues.apache.org/jira/browse/IVYDE-88
>             Project: IvyDE
>          Issue Type: Improvement
>            Reporter: Maarten Coene
>
> In order to add IvyDE to gump, we need an Ant target to create the plugin.
> In addition, this target could be very usefull for people wanting to build the plugin theirself.

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


[jira] Commented: (IVYDE-88) Add new target to build.xml to build the plugin with Ant

Posted by "Nicolas Lalevée (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVYDE-88?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12590046#action_12590046 ] 

Nicolas Lalevée commented on IVYDE-88:
--------------------------------------

Layout changed and build committed. I will make a mail on the dev list to introduce it.

> Add new target to build.xml to build the plugin with Ant
> --------------------------------------------------------
>
>                 Key: IVYDE-88
>                 URL: https://issues.apache.org/jira/browse/IVYDE-88
>             Project: IvyDE
>          Issue Type: Improvement
>            Reporter: Maarten Coene
>            Assignee: Nicolas Lalevée
>             Fix For: 1.3.0
>
>         Attachments: build.patch
>
>
> In order to add IvyDE to gump, we need an Ant target to create the plugin.
> In addition, this target could be very usefull for people wanting to build the plugin theirself.

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


[jira] Commented: (IVYDE-88) Add new target to build.xml to build the plugin with Ant

Posted by "Nicolas Lalevée (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVYDE-88?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12590342#action_12590342 ] 

Nicolas Lalevée commented on IVYDE-88:
--------------------------------------

The generated path where incorrects for Windows. I have fixed it in the trunk.
I have then tested it with Eclipse 3.4M5 under Linux: it works fine.
I aslo tested with Windows and Eclipse 3.2 thanks to a colleague, the build now launch correctly. But he only has IvyDE 1.2 in its plugins (blame on him ! :p), so I don't really know it is really successul (due to the requirment to have Ivy 2 bundle in the plugins). Could you confirm that it is working for your configuration ?

> Add new target to build.xml to build the plugin with Ant
> --------------------------------------------------------
>
>                 Key: IVYDE-88
>                 URL: https://issues.apache.org/jira/browse/IVYDE-88
>             Project: IvyDE
>          Issue Type: Improvement
>            Reporter: Maarten Coene
>            Assignee: Nicolas Lalevée
>             Fix For: 1.3.0
>
>         Attachments: build.patch
>
>
> In order to add IvyDE to gump, we need an Ant target to create the plugin.
> In addition, this target could be very usefull for people wanting to build the plugin theirself.

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


[jira] Commented: (IVYDE-88) Add new target to build.xml to build the plugin with Ant

Posted by "Maarten Coene (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVYDE-88?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12590173#action_12590173 ] 

Maarten Coene commented on IVYDE-88:
------------------------------------

I've tried it out, but I don't get it to work. Maybe it's related to my Eclipse version?

{noformat}
C:\projects\ivyde\ivyde>ant build -DbaseLocation=c:\java\eclipse-3.4M5 -v
Apache Ant version 1.7.0 compiled on December 13 2006
Buildfile: build.xml
Detected Java version: 1.6 in: c:\java\jdk1.6.0_04\jre
Detected OS: Windows Vista
parsing buildfile C:\projects\ivyde\ivyde\build.xml with URI = file:/C:/projects
/ivyde/ivyde/build.xml
Project base dir set to: C:\projects\ivyde\ivyde
Build sequence for target(s) `build' is [eclipse-startup-check, eclipse-startup-
classpath, eclipse-launcher-classpath, build]
Complete build sequence is [eclipse-startup-check, eclipse-startup-classpath, ec
lipse-launcher-classpath, build, clean, ]

eclipse-startup-check:
[antlib:org.apache.tools.ant] Could not load definitions from resource org/apach
e/tools/ant/antlib.xml. It could not be found.
[available] Unable to find c:\java\eclipse-3.4M5\startup.jar

eclipse-startup-classpath:
Skipped because property 'eclipse.startup' not set.

eclipse-launcher-classpath:
parsing buildfile jar:file:/C:/java/apache-ant-1.7.0/lib/ant.jar!/org/apache/too
ls/ant/types/resources/comparators/antlib.xml with URI = jar:file:/C:/java/apach
e-ant-1.7.0/lib/ant.jar!/org/apache/tools/ant/types/resources/comparators/antlib
.xml
     [echo] Using equinox launcher jar: c:\java\eclipse-3.4M5\plugins\org.eclips
e.equinox.launcher_1.0.100.v20080205.jar

build:
     [java] Executing 'c:\java\jdk1.6.0_04\jre\bin\java.exe' with arguments:
     [java] '-classpath'
     [java] 'c:\java\eclipse-3.4M5\plugins\org.eclipse.equinox.launcher_1.0.100.
v20080205.jar'
     [java] 'org.eclipse.core.launcher.Main'
     [java] '-clean'
     [java] '-application'
     [java] 'org.eclipse.pde.build.Build'
     [java] '-DbaseLocation=c:\java\eclipse-3.4M5'
     [java] '-Dbuilder=C:\projects\ivyde\ivyde/builder/component'
     [java] '-DmapsPath=C:\projects\ivyde\ivyde/builder/maps'
     [java] '-DbuildDirectory=C:\projects\ivyde\ivyde/work'
     [java] '-DDSTAMP=20080417'
     [java] '-DTSTAMP=2126'
     [java]
     [java] The ' characters around the executable and arguments are
     [java] not part of the command.

BUILD FAILED
C:\projects\ivyde\ivyde\build.xml:61: Java returned: 13
        at org.apache.tools.ant.taskdefs.Java.execute(Java.java:107)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.jav
a:105)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:357)
        at org.apache.tools.ant.Target.performTasks(Target.java:385)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExe
cutor.java:41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
        at org.apache.tools.ant.Main.runBuild(Main.java:698)
        at org.apache.tools.ant.Main.startAnt(Main.java:199)
        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)

Total time: 6 seconds
{noformat}

> Add new target to build.xml to build the plugin with Ant
> --------------------------------------------------------
>
>                 Key: IVYDE-88
>                 URL: https://issues.apache.org/jira/browse/IVYDE-88
>             Project: IvyDE
>          Issue Type: Improvement
>            Reporter: Maarten Coene
>            Assignee: Nicolas Lalevée
>             Fix For: 1.3.0
>
>         Attachments: build.patch
>
>
> In order to add IvyDE to gump, we need an Ant target to create the plugin.
> In addition, this target could be very usefull for people wanting to build the plugin theirself.

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


[jira] Commented: (IVYDE-88) Add new target to build.xml to build the plugin with Ant

Posted by "Maarten Coene (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVYDE-88?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12582283#action_12582283 ] 

Maarten Coene commented on IVYDE-88:
------------------------------------

There are some eclipse libraries on gump, I'm not sure if they will contain the ant tasks:
http://vmgump.apache.org/gump/public/eclipse/eclipse/index.html

> Add new target to build.xml to build the plugin with Ant
> --------------------------------------------------------
>
>                 Key: IVYDE-88
>                 URL: https://issues.apache.org/jira/browse/IVYDE-88
>             Project: IvyDE
>          Issue Type: Improvement
>            Reporter: Maarten Coene
>
> In order to add IvyDE to gump, we need an Ant target to create the plugin.
> In addition, this target could be very usefull for people wanting to build the plugin theirself.

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


[jira] Commented: (IVYDE-88) Add new target to build.xml to build the plugin with Ant

Posted by "Maarten Coene (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVYDE-88?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12585469#action_12585469 ] 

Maarten Coene commented on IVYDE-88:
------------------------------------

Or maybe the required libraries can be found here: http://repo1.maven.org/maven2/org/eclipse/
If that is the case, we could use Ivy to resolve the Eclipse dependencies and build the plugin with these libraries.

> Add new target to build.xml to build the plugin with Ant
> --------------------------------------------------------
>
>                 Key: IVYDE-88
>                 URL: https://issues.apache.org/jira/browse/IVYDE-88
>             Project: IvyDE
>          Issue Type: Improvement
>            Reporter: Maarten Coene
>
> In order to add IvyDE to gump, we need an Ant target to create the plugin.
> In addition, this target could be very usefull for people wanting to build the plugin theirself.

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


[jira] Assigned: (IVYDE-88) Add new target to build.xml to build the plugin with Ant

Posted by "Nicolas Lalevée (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/IVYDE-88?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nicolas Lalevée reassigned IVYDE-88:
------------------------------------

    Assignee: Nicolas Lalevée

> Add new target to build.xml to build the plugin with Ant
> --------------------------------------------------------
>
>                 Key: IVYDE-88
>                 URL: https://issues.apache.org/jira/browse/IVYDE-88
>             Project: IvyDE
>          Issue Type: Improvement
>            Reporter: Maarten Coene
>            Assignee: Nicolas Lalevée
>             Fix For: 1.3.0
>
>         Attachments: build.patch
>
>
> In order to add IvyDE to gump, we need an Ant target to create the plugin.
> In addition, this target could be very usefull for people wanting to build the plugin theirself.

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


[jira] Commented: (IVYDE-88) Add new target to build.xml to build the plugin with Ant

Posted by "Xavier Hanin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVYDE-88?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12589446#action_12589446 ] 

Xavier Hanin commented on IVYDE-88:
-----------------------------------

I'm fine with applying this patch and changing the layout in svn, I trust you that it's the easiest way to have a command line build for IvyDE, which will help releasing and maybe having more people contributing patches.

BTW, I see you've changed the bundle version from 1.3 to 2.0.0 for IvyDE, maybe we could discuss this on mailing list?

> Add new target to build.xml to build the plugin with Ant
> --------------------------------------------------------
>
>                 Key: IVYDE-88
>                 URL: https://issues.apache.org/jira/browse/IVYDE-88
>             Project: IvyDE
>          Issue Type: Improvement
>            Reporter: Maarten Coene
>         Attachments: build.patch
>
>
> In order to add IvyDE to gump, we need an Ant target to create the plugin.
> In addition, this target could be very usefull for people wanting to build the plugin theirself.

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


[jira] Resolved: (IVYDE-88) Add new target to build.xml to build the plugin with Ant

Posted by "Nicolas Lalevée (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/IVYDE-88?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nicolas Lalevée resolved IVYDE-88.
----------------------------------

       Resolution: Fixed
    Fix Version/s: 1.3.0

> Add new target to build.xml to build the plugin with Ant
> --------------------------------------------------------
>
>                 Key: IVYDE-88
>                 URL: https://issues.apache.org/jira/browse/IVYDE-88
>             Project: IvyDE
>          Issue Type: Improvement
>            Reporter: Maarten Coene
>            Assignee: Nicolas Lalevée
>             Fix For: 1.3.0
>
>         Attachments: build.patch
>
>
> In order to add IvyDE to gump, we need an Ant target to create the plugin.
> In addition, this target could be very usefull for people wanting to build the plugin theirself.

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


[jira] Commented: (IVYDE-88) Add new target to build.xml to build the plugin with Ant

Posted by "Nicolas Lalevée (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVYDE-88?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12585464#action_12585464 ] 

Nicolas Lalevée commented on IVYDE-88:
--------------------------------------

AFAIU this doc: http://www.eclipse.org/articles/Article-PDE-Automation/automation.html
The generated build files are only to save the configuration of the last manually build launch within eclipse. So in the generated build files the paths are hardly coded and depend on the generator environment. So effectivelly it desn't fit at all our needs.

Then it presents the common way to build an Eclipse plugin, which use the org.eclipse.releng.eclipsebuilder plugin. So it requires a full Eclipse installation for its startup. It seems to do everything we need (and also the coffee, like fetching the sources from svn). For instance we can control the build label, so we can generate it from the version. As it is quite standalone, I imagine that its integration into the existing build.xml will be something like:
{code:xml}
<target name="build">
  <fail message="Set your eclipse home!" unless="eclipse.home" />
  <java classpath="${eclipse.home}/startup.jar" classname="org.eclipse.core.launcher.Main">
    <arg ... />
  </java>
</target>
{code}

Using this tool is requiring some time to understand how exactly it works, and how to control it correctly. But I think we would need even more time to develop our own tasks.

Note also that in any case, we will need somewhere the plugins IvyDE is using, in order to compile it correctly. So in any case, a user of the build will have to specify its eclipse location.


> Add new target to build.xml to build the plugin with Ant
> --------------------------------------------------------
>
>                 Key: IVYDE-88
>                 URL: https://issues.apache.org/jira/browse/IVYDE-88
>             Project: IvyDE
>          Issue Type: Improvement
>            Reporter: Maarten Coene
>
> In order to add IvyDE to gump, we need an Ant target to create the plugin.
> In addition, this target could be very usefull for people wanting to build the plugin theirself.

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


[jira] Commented: (IVYDE-88) Add new target to build.xml to build the plugin with Ant

Posted by "Nicolas Lalevée (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVYDE-88?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12589524#action_12589524 ] 

Nicolas Lalevée commented on IVYDE-88:
--------------------------------------

ok, thanks for reviewing, let's discuss about IvyDE version number.

> Add new target to build.xml to build the plugin with Ant
> --------------------------------------------------------
>
>                 Key: IVYDE-88
>                 URL: https://issues.apache.org/jira/browse/IVYDE-88
>             Project: IvyDE
>          Issue Type: Improvement
>            Reporter: Maarten Coene
>         Attachments: build.patch
>
>
> In order to add IvyDE to gump, we need an Ant target to create the plugin.
> In addition, this target could be very usefull for people wanting to build the plugin theirself.

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