Re: RFC: Ivy Integration (Was RFC: Maven and the Java Build)

2009-07-01 Thread Bryan Kearney

Aidan Skinner wrote:

On Mon, Jun 29, 2009 at 8:36 PM, Bryan Kearney wrote:


Taking what Aiden suggested. Here is a first cut at ivy integration. What
this does is:

1) Require that every module have an ivy.xml file which is contains all the
dependencies.
2) Defines a depVersions.properties file at the root project to control the
actual version numbers.
3) Builds a pom file (DRY) with every build (see build/pom).


I really like this approach.


A) Use the local lib file. If the requirement is to check in every version,
we could do that by refactoring the lib directory to be a mini ivy or maven
repo.


I'd rather write a resolver which looks in a flat directory. I know
it's a bit more work, but will make it much, much easier to get our
stuff downstream.


We can.. as long as we bring in the pom/ivy artifacts as well. It would 
be easy to make it a flat file if we have


org.apache.mina-mina.core-1.0.1.jar
org.apache.mina-mina.core-1.0.1.pom

If folks can live with that, it can be flat. We need the upstream pom or 
ivy.xml checked in.





Can folks please take a look at this patch and let me know what it misses
from your requirements. To install it, please do the following:


I gotta say, that's pretty slick. :)



Thanks. If other folks are ok.. I will complete out the patch, but I 
want to get comments on what is good/bad before I do more.


-- bk

-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



Re: RFC: Ivy Integration (Was RFC: Maven and the Java Build)

2009-07-01 Thread Aidan Skinner
On Mon, Jun 29, 2009 at 8:36 PM, Bryan Kearney wrote:

> Taking what Aiden suggested. Here is a first cut at ivy integration. What
> this does is:
>
> 1) Require that every module have an ivy.xml file which is contains all the
> dependencies.
> 2) Defines a depVersions.properties file at the root project to control the
> actual version numbers.
> 3) Builds a pom file (DRY) with every build (see build/pom).

I really like this approach.

> A) Use the local lib file. If the requirement is to check in every version,
> we could do that by refactoring the lib directory to be a mini ivy or maven
> repo.

I'd rather write a resolver which looks in a flat directory. I know
it's a bit more work, but will make it much, much easier to get our
stuff downstream.

> Can folks please take a look at this patch and let me know what it misses
> from your requirements. To install it, please do the following:

I gotta say, that's pretty slick. :)

- Aidan
-- 
Apache Qpid - AMQP, JMS, other messaging love http://qpid.apache.org
"A witty saying proves nothing" - Voltaire

-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



RFC: Ivy Integration (Was RFC: Maven and the Java Build)

2009-06-29 Thread Bryan Kearney
Taking what Aiden suggested. Here is a first cut at ivy integration. 
What this does is:


1) Require that every module have an ivy.xml file which is contains all 
the dependencies.
2) Defines a depVersions.properties file at the root project to control 
the actual version numbers.

3) Builds a pom file (DRY) with every build (see build/pom).

What this does not do is:

A) Use the local lib file. If the requirement is to check in every 
version, we could do that by refactoring the lib directory to be a mini 
ivy or maven repo.


Can folks please take a look at this patch and let me know what it 
misses from your requirements. To install it, please do the following:


I) Grab the latest from the repo.
II) Apply this patch from the first qpid directory.
III) Download the ivy 2.1.0rc1 jar from 
http://ant.apache.org/ivy/download.cgi and put it into the lib directory.
IV) From the java/common directory do an ant build. Inspect the ivy.xml 
file that is there. Also look at build/pom/qpid-common-0.5.pom
V) from the java/client directory do an ant build. Inspect the ivy.xml 
file and pom file. Note that this relies on qpid-common.

VI) Scan the rest of the files.. and ask any questions.

Thanks!

-- bk



diff --git a/qpid/java/client/ivy.xml b/qpid/java/client/ivy.xml
new file mode 100644
index 000..daad1ce
--- /dev/null
+++ b/qpid/java/client/ivy.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/qpid/java/common.xml b/qpid/java/common.xml
index 511cdc6..073fbaf 100644
--- a/qpid/java/common.xml
+++ b/qpid/java/common.xml
@@ -18,7 +18,7 @@
  - under the License.
  -
  -->
-
+
 
   
 
@@ -31,6 +31,8 @@
   
   
   
+
+
   
   
   
@@ -113,6 +115,12 @@
   
 
+  
+
+ 
+
   
 
   
diff --git a/qpid/java/common/ivy.xml b/qpid/java/common/ivy.xml
new file mode 100644
index 000..2b27532
--- /dev/null
+++ b/qpid/java/common/ivy.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/qpid/java/depVersions.properties b/qpid/java/depVersions.properties
new file mode 100644
index 000..dace2f9
--- /dev/null
+++ b/qpid/java/depVersions.properties
@@ -0,0 +1,13 @@
+slf4j-api.version=1.4.0
+slf4j-log4j12.version=1.4.0
+backport-util-concurrent.version=2.2
+junit.version=3.8.1
+mina-core.version=1.0.1
+mina-filter-ssl.version=1.0.1
+commons-beanutils-core.version=1.8.0
+commons-digester.version=1.8.1
+commons-codec.version=1.3
+commons-lang.version=2.2
+commons-collections.version=3.2
+commons-configuration.version=1.6
+geronimo-spec-jms.version=1.0-M1
diff --git a/qpid/java/ivysettings.xml b/qpid/java/ivysettings.xml
new file mode 100644
index 000..1250e3f
--- /dev/null
+++ b/qpid/java/ivysettings.xml
@@ -0,0 +1,18 @@
+
+
+
+-->
+
+
+
+
+
+
+
+
+  http://repo1.maven.org/maven2/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"; />
+
+
+
+
+
diff --git a/qpid/java/module.xml b/qpid/java/module.xml
index 42da1fe..28f068c 100644
--- a/qpid/java/module.xml
+++ b/qpid/java/module.xml
@@ -18,7 +18,7 @@
  - under the License.
  -
  -->
-
+
 
   
 
@@ -38,6 +38,8 @@
 
   
   
+  
+  
   
   
   
@@ -68,60 +70,6 @@
   
   
 
-  
-  
-
-  
-
-  
-
-  
-
-  
-
-  
-
-
-  
-
-  
-
-  
-  
-
-  
-
-  
-
-  
-  
-  
-  
-
-  
-
-  
-
-  
-
-  
-
-  
-
-
-
-  
-
-  
-
-
-
-
-  
-
   
 
   
@@ -145,6 +93,8 @@
 
 
 
+
+
 
 
 
@@ -153,6 +103,61 @@
 
 
 
+
+   
+
+
+  
+
+
+
+
+  
+
+
+
+  
+  
+
+
+
+
+  
+  
+
+
+
+
+
+
+
+
+
+
+
+  
+
+
+
+  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
   
 
   
@@ -311,7 +316,18 @@
 
   
 
-  
+  
+
+
+
+   
+   
+  
+
+  
+  
+
+  
   
 
   
@@ -542,5 +558,10 @@
   
 
   
+
+  
+
+
+  
   
 


-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org