You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Stefano Bagnara (JIRA)" <se...@james.apache.org> on 2006/05/22 12:26:29 UTC

[jira] Created: (JAMES-506) Remove ant from the repository

Remove ant from the repository
------------------------------

         Key: JAMES-506
         URL: http://issues.apache.org/jira/browse/JAMES-506
     Project: James
        Type: Improvement

  Components: Build System  
    Reporter: Stefano Bagnara
 Assigned to: Stefano Bagnara 
     Fix For: 2.4.0


We can remove the tools/bin, tools/etc and the tools/lib/ant.jar, tools/lib/junit.jar, tools/lib/optional.jar from our repository.
Ant is a build tool, we can expect developers already have it installed, or being able to install it separately.

Eventually we could add ant, build.bad, build.sh, and the needed libraries only to the source distribution.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: [jira] Commented: (JAMES-506) Remove ant from the repository

Posted by Stefano Bagnara <ap...@bago.org>.
Bernd Fondermann wrote:
>> The problem is that junit, in the "ant build" aspect, is not a 
>> dependency of James but a dependency of the ant-junit task.
> 
> I am not sure that I understand this sentence.
> 
> For me, junit is a jar like any jar in lib/ except that it is needed 
> only in the test classes and thus resides in tools/lib but could very 
> well be in lib/.
> I see the unit test classes as an integral part of the sources, not just 
> an add-on, even if they don't ship in binary distributions.

Our tests depends on junit: we can automatically download the junit.jar 
and build the tests, this is not a problem.

The problem is when you want to run the "junit" task from ant: this is 
an ant limitation, and this is why I would like to use something that 
does not present this problems (m2).

>> If you can find a simple solution for that I would be happy to include 
>> it: I pasted the "<get>" code, and as I said there is a classpath issue.
> 
> Agreed, the downloading is not a solution as long as we are using ant. I 
> tried this myself a few weeks ago.
> Isn't this "only" a license issue? If we could put junit into svn we 
> would do it, wouldn't we?

For the current state it is only a license issue.
Btw I still would like to remove all the jars from the repository one 
day (the way we did for jspf project).

> Since we can't put junit in anyway the whole discussion is somewhat 
> academic.
> 
> What I'd really like to understand more: What is the benefit of removing 
> ant and the build scripts? Is it just a clean-up or is there a next step 
> after it? Sorry to re-iterate this topic. I feel like I don't see the 
> obvious here.

I have ant installed in my machine and already including junit.jar. If I 
remove the whole ant stuff but build.xml I'm able to run "ant 
run-unit-tests" without downloading/moving anything. If I keep the ant 
stuff in the tools/lib folder then ant expects to find junit.jar in the 
same folder and does not work (I have to manually copy the jar).

Stefano


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: [jira] Commented: (JAMES-506) Remove ant from the repository

Posted by Bernd Fondermann <bf...@brainlounge.de>.
Stefano Bagnara wrote:
> Bernd Fondermann wrote:
> 
>> I am with you regarding jdk, ant, maven.
>> But JUnit is a not a build tool like ant + maven, it is a bunch of 
>> java classes our code directly dependents on (is linked to) through 
>> import-statements. this is true for all other libraries in lib and 
>> tools/lib. (do you want them be removed, too?) JDK classes are also 
>> linked by import statements, but the junit.jar is a little bit more 
>> lightweight ;-)
>>
>> We should not impose additional hurdles for users by requiring them to 
>> download stuff before the tests can be run.
>> Remember, the same applied to activation.jar and mail.jar. They had to 
>> be downloaded, extracted and placed by hand. They are now present in 
>> the repository and this is a great relief, I think.
>>
>>   Bernd
> 
> 
> The problem is that junit, in the "ant build" aspect, is not a 
> dependency of James but a dependency of the ant-junit task.

I am not sure that I understand this sentence.

For me, junit is a jar like any jar in lib/ except that it is needed 
only in the test classes and thus resides in tools/lib but could very 
well be in lib/.
I see the unit test classes as an integral part of the sources, not just 
an add-on, even if they don't ship in binary distributions.

> If you can find a simple solution for that I would be happy to include 
> it: I pasted the "<get>" code, and as I said there is a classpath issue.

Agreed, the downloading is not a solution as long as we are using ant. I 
tried this myself a few weeks ago.
Isn't this "only" a license issue? If we could put junit into svn we 
would do it, wouldn't we?

Since we can't put junit in anyway the whole discussion is somewhat 
academic.

What I'd really like to understand more: What is the benefit of removing 
ant and the build scripts? Is it just a clean-up or is there a next step 
after it? Sorry to re-iterate this topic. I feel like I don't see the 
obvious here.

> PS: We still don't include activation and mail jars in our repository.

yes, I must have been dreaming ;-)

   Bernd

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: [jira] Commented: (JAMES-506) Remove ant from the repository

Posted by Stefano Bagnara <ap...@bago.org>.
Bernd Fondermann wrote:
> I am with you regarding jdk, ant, maven.
> But JUnit is a not a build tool like ant + maven, it is a bunch of java 
> classes our code directly dependents on (is linked to) through 
> import-statements. this is true for all other libraries in lib and 
> tools/lib. (do you want them be removed, too?) JDK classes are also 
> linked by import statements, but the junit.jar is a little bit more 
> lightweight ;-)
> 
> We should not impose additional hurdles for users by requiring them to 
> download stuff before the tests can be run.
> Remember, the same applied to activation.jar and mail.jar. They had to 
> be downloaded, extracted and placed by hand. They are now present in the 
> repository and this is a great relief, I think.
> 
>   Bernd

The problem is that junit, in the "ant build" aspect, is not a 
dependency of James but a dependency of the ant-junit task.

If you can find a simple solution for that I would be happy to include 
it: I pasted the "<get>" code, and as I said there is a classpath issue.

Maven2 is a step beyond in that because it automatically downloads 
"taskdefs" (maven plugins) and their dependencies.

Maven2 will also create a build.xml that automcatically downloads the 
dependencies using the get task, but it will skip junit.jar because of 
the limitation I already described.

PS: We still don't include activation and mail jars in our repository.

Stefano


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: [jira] Commented: (JAMES-506) Remove ant from the repository

Posted by Bernd Fondermann <bf...@brainlounge.de>.
Stefano Bagnara wrote:
> IMO we simply should remove everything but build.xml

mmhhh... really? the build process is working quite good at the moment, 
isn't it? I'm just curious what you are trying to achieve. Are you 
talking about the binary distribution only?

> I thought we could add to build.xml an "initialize" target to be 
> manually called at start to download everything is needed, but I think 
> we should better remove all of this stuff: we expect people to already 
> have the Jdk installed, we can expect they also have ant. The same would 
> be for maven.

I am with you regarding jdk, ant, maven.
But JUnit is a not a build tool like ant + maven, it is a bunch of java 
classes our code directly dependents on (is linked to) through 
import-statements. this is true for all other libraries in lib and 
tools/lib. (do you want them be removed, too?) JDK classes are also 
linked by import statements, but the junit.jar is a little bit more 
lightweight ;-)

We should not impose additional hurdles for users by requiring them to 
download stuff before the tests can be run.
Remember, the same applied to activation.jar and mail.jar. They had to 
be downloaded, extracted and placed by hand. They are now present in the 
repository and this is a great relief, I think.

   Bernd

> 
> Stefano
> 
> Bernd Fondermann (JIRA) wrote:
> 
>>     [ 
>> http://issues.apache.org/jira/browse/JAMES-506?page=comments#action_12412757 
>> ]
>> Bernd Fondermann commented on JAMES-506:
>> ----------------------------------------
>>
>> minor note: tools/lib/junit.jar is not yet in svn. the idea was to 
>> download it from a public repository but I did not work out how to 
>> achieve this using ant.
>>
>>> Remove ant from the repository
>>> ------------------------------
>>>
>>>          Key: JAMES-506
>>>          URL: http://issues.apache.org/jira/browse/JAMES-506
>>>      Project: James
>>>         Type: Improvement
>>
>>
>>>   Components: Build System
>>>     Reporter: Stefano Bagnara
>>>     Assignee: Stefano Bagnara
>>>      Fix For: 2.4.0
>>
>>
>>> We can remove the tools/bin, tools/etc and the tools/lib/ant.jar, 
>>> tools/lib/junit.jar, tools/lib/optional.jar from our repository.
>>> Ant is a build tool, we can expect developers already have it 
>>> installed, or being able to install it separately.
>>> Eventually we could add ant, build.bad, build.sh, and the needed 
>>> libraries only to the source distribution.
>>
>>
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: [jira] Commented: (JAMES-506) Remove ant from the repository

Posted by Stefano Bagnara <ap...@bago.org>.
IMO we simply should remove everything but build.xml

You can download it using the get task...
<get 
src="http://repo.mergere.com/maven2/junit/junit/3.8.2/junit-3.8.2.jar" 
dest="tools/lib/junit.jar" usetimestamp="true" />
...but it won't work because optional.jar has already been loaded and 
the junit task will search junit in its classpath: this is a known 
problem and the solution is that junit.jar must be in the same place you 
have optional.jar/ant.jar and must be present BEFORE you start ant.

I thought we could add to build.xml an "initialize" target to be 
manually called at start to download everything is needed, but I think 
we should better remove all of this stuff: we expect people to already 
have the Jdk installed, we can expect they also have ant. The same would 
be for maven.

Stefano

Bernd Fondermann (JIRA) wrote:
>     [ http://issues.apache.org/jira/browse/JAMES-506?page=comments#action_12412757 ] 
> 
> Bernd Fondermann commented on JAMES-506:
> ----------------------------------------
> 
> minor note: tools/lib/junit.jar is not yet in svn. the idea was to download it from a public repository but I did not work out how to achieve this using ant.
> 
>> Remove ant from the repository
>> ------------------------------
>>
>>          Key: JAMES-506
>>          URL: http://issues.apache.org/jira/browse/JAMES-506
>>      Project: James
>>         Type: Improvement
> 
>>   Components: Build System
>>     Reporter: Stefano Bagnara
>>     Assignee: Stefano Bagnara
>>      Fix For: 2.4.0
> 
>> We can remove the tools/bin, tools/etc and the tools/lib/ant.jar, tools/lib/junit.jar, tools/lib/optional.jar from our repository.
>> Ant is a build tool, we can expect developers already have it installed, or being able to install it separately.
>> Eventually we could add ant, build.bad, build.sh, and the needed libraries only to the source distribution.
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[jira] Commented: (JAMES-506) Remove ant from the repository

Posted by "Bernd Fondermann (JIRA)" <se...@james.apache.org>.
    [ http://issues.apache.org/jira/browse/JAMES-506?page=comments#action_12412757 ] 

Bernd Fondermann commented on JAMES-506:
----------------------------------------

minor note: tools/lib/junit.jar is not yet in svn. the idea was to download it from a public repository but I did not work out how to achieve this using ant.

> Remove ant from the repository
> ------------------------------
>
>          Key: JAMES-506
>          URL: http://issues.apache.org/jira/browse/JAMES-506
>      Project: James
>         Type: Improvement

>   Components: Build System
>     Reporter: Stefano Bagnara
>     Assignee: Stefano Bagnara
>      Fix For: 2.4.0

>
> We can remove the tools/bin, tools/etc and the tools/lib/ant.jar, tools/lib/junit.jar, tools/lib/optional.jar from our repository.
> Ant is a build tool, we can expect developers already have it installed, or being able to install it separately.
> Eventually we could add ant, build.bad, build.sh, and the needed libraries only to the source distribution.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: [jira] Resolved: (JAMES-506) Remove ant from the repository

Posted by Stefano Bagnara <ap...@bago.org>.
Noel J. Bergman wrote:
>> and cleaned up the build.xml to remove pre 1.4 checks (e.g: javax.naming),
>> Anakia checks (we don't call anakia tasks)
> 
> Whoa, are you sure?  Anakia is what we use to build the web site.
> 
> 	--- Noel

"ant website" => website is created, fine: am I missing something?

The "xdocs" target uses the <style> task and Ant documentation report 
this: "Xslt/Style: If you are using JDK 1.4 or higher, this task does 
not require external libraries not supplied in the Ant distribution"

Stefano


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


RE: [jira] Resolved: (JAMES-506) Remove ant from the repository

Posted by "Noel J. Bergman" <no...@devtech.com>.
> and cleaned up the build.xml to remove pre 1.4 checks (e.g: javax.naming),
> Anakia checks (we don't call anakia tasks)

Whoa, are you sure?  Anakia is what we use to build the web site.

	--- Noel


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[jira] Resolved: (JAMES-506) Remove ant from the repository

Posted by "Stefano Bagnara (JIRA)" <se...@james.apache.org>.
     [ http://issues.apache.org/jira/browse/JAMES-506?page=all ]
     
Stefano Bagnara resolved JAMES-506:
-----------------------------------

    Resolution: Fixed

Applied by lazy consensus.
Noel, Serge, Bernd and me expressed agreement on this.

I also removed a bunch ol libraries that we didn't use anymore and cleaned up the build.xml to remove pre 1.4 checks (e.g: javax.naming), Anakia checks (we don't call anakia tasks). Also updated the build.xml to remove all direct jar references in favor of the properties set in include.properties.

Also fixed a bug for our SMIME mailets support: bcmail-jdk14-129-workaround.jar was not included in the distribution.


> Remove ant from the repository
> ------------------------------
>
>          Key: JAMES-506
>          URL: http://issues.apache.org/jira/browse/JAMES-506
>      Project: James
>         Type: Improvement

>   Components: Build System
>     Reporter: Stefano Bagnara
>     Assignee: Stefano Bagnara
>      Fix For: 2.4.0

>
> We can remove the tools/bin, tools/etc and the tools/lib/ant.jar, tools/lib/junit.jar, tools/lib/optional.jar from our repository.
> Ant is a build tool, we can expect developers already have it installed, or being able to install it separately.
> Eventually we could add ant, build.bad, build.sh, and the needed libraries only to the source distribution.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org