Return-Path: X-Original-To: apmail-ofbiz-user-archive@www.apache.org Delivered-To: apmail-ofbiz-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 693017253 for ; Tue, 26 Jul 2011 11:40:21 +0000 (UTC) Received: (qmail 73903 invoked by uid 500); 26 Jul 2011 11:40:20 -0000 Delivered-To: apmail-ofbiz-user-archive@ofbiz.apache.org Received: (qmail 73683 invoked by uid 500); 26 Jul 2011 11:40:17 -0000 Mailing-List: contact user-help@ofbiz.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@ofbiz.apache.org Delivered-To: mailing list user@ofbiz.apache.org Received: (qmail 73674 invoked by uid 99); 26 Jul 2011 11:40:16 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 26 Jul 2011 11:40:16 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [66.111.4.28] (HELO out4.smtp.messagingengine.com) (66.111.4.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 26 Jul 2011 11:40:11 +0000 Received: from compute3.internal (compute3.nyi.mail.srv.osa [10.202.2.43]) by gateway1.messagingengine.com (Postfix) with ESMTP id ABCB720CC5 for ; Tue, 26 Jul 2011 07:39:49 -0400 (EDT) Received: from frontend1.messagingengine.com ([10.202.2.160]) by compute3.internal (MEProxy); Tue, 26 Jul 2011 07:39:49 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=from:mime-version:content-type:subject :date:in-reply-to:to:references:message-id; s=smtpout; bh=T6HBhT Jb687iBcgPYS/LzQQWZjg=; b=rARzkar51srAXJiTRH0UWFOroI8+5VB5jFo2D7 OTYY/WlE4FujfXHIJl2NO3O1cw1/geqjLZ0XiafveVyIj00ho/9Di6rh8J6hj1LE 30VispNQe2roTVLQOloeayPyblVGBCu1+EnEjFPaJ5nyJ/1LIN9+M/oJK+43gRs1 A8l0w= X-Sasl-enc: XhaJxBms0RaJW1NjMr4wubke51HPN02zbyXGcIa9zXT/ 1311680389 Received: from [IPv6:::1] (unknown [86.43.104.130]) by mail.messagingengine.com (Postfix) with ESMTPA id C9409413C56 for ; Tue, 26 Jul 2011 07:39:48 -0400 (EDT) From: Eric Bowman Mime-Version: 1.0 (Apple Message framework v1244.3) Content-Type: multipart/alternative; boundary="Apple-Mail=_7C5AC8AE-47F8-4E6C-9303-0542EAEECFEF" Subject: Re: ofbiz "mavenizer" Date: Tue, 26 Jul 2011 13:39:45 +0200 In-Reply-To: <6C79BCAC-B572-43B2-8884-B1398E653309@boboco.ie> To: user@ofbiz.apache.org References: <6C79BCAC-B572-43B2-8884-B1398E653309@boboco.ie> Message-Id: <1C21DD08-F2A1-42FD-B73A-5453544CD924@boboco.ie> X-Mailer: Apple Mail (2.1244.3) --Apple-Mail=_7C5AC8AE-47F8-4E6C-9303-0542EAEECFEF Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Hi, I've placed "mavenizer" on github: https://github.com/ebowman/mavenizer I wouldn't say it's too polished yet, so if anyone wants to be an early = adopter, much appreciated. Note that you will need a Nexus installation nearby for this to be much = use. cheers, Eric On 12 Jul 2011, at 12:09, Eric Bowman wrote: > Hi, >=20 > I've written a tool that we're considering open sourcing, and I'm = curious to gauge how much interest there would be in it. >=20 > The purpose of the tool is to generate proper poms for each of the = ofbiz modules by inspecting an ofbiz directory. It works in two steps, = and it uses the Nexus search API (so it's not that interesting unless = you have a Nexus repository installed somewhere nearby). >=20 > Here's what it does: >=20 > 1. Inspects $OFBIZ_HOME recursively, identifying external dependency = libraries > 2. Generates the SHA1 hash of each jar, and uses a Nexus API to = determine whether that jar already exists in Nexus as a known artifact. > 3. If it does not, it takes a random sample of the classes in each = jar, and queries Nexus to see can it figure out a reasonable groupId & = artifactId. > 4. For artifacts not already in Nexus, it synthesizes a mvn = deploy:deploy-file for each jar and each possible = groupId/artifactId/version it decides might be useful, and lets you = decide which commands to run to get all the dependency jars in Nexus. > 5. After all the external dependencies are in Nexus, it looks through = $OFBIZ_HOME again, and determines all the transitive dependencies = between ofbiz modules > 6. Next it synthesizes a pom for each module, that captures both the = dependencies in that module's lib directory, as well as the simplest = transitive graph of dependencies on other modules. > 7. Finally it prints out mvn deploy:deploy-file commands which can be = run separately to put each ofbiz module's jar file into Nexus, along = with its pom. >=20 > If you are using maven, this is pretty nice -- this way you don't have = to worry about declaring dependencies against all the jars in the ofbiz = directory; it figures all that out, and leverages maven's transitive = dependency resolution to make a clean build. >=20 > Obviously it doesn't solve other problems, like how to deploy an ofbiz = server in a maveny way, but that may follow. >=20 > If you're interested in seeing this open sourced, perhaps you can = reply off-list; if there is enough interest I'll put this on github. = And maybe even if there isn't. :) >=20 > Cheers, > Eric Bowman >=20 --Apple-Mail=_7C5AC8AE-47F8-4E6C-9303-0542EAEECFEF--