Return-Path: Mailing-List: contact user-help@ant.apache.org; run by ezmlm Delivered-To: mailing list user@ant.apache.org Received: (qmail 42959 invoked from network); 30 May 2003 16:52:06 -0000 Received: from mail10.atl.registeredsite.com (64.224.219.84) by daedalus.apache.org with SMTP; 30 May 2003 16:52:06 -0000 Received: from imta02a2.registeredsite.com (imta02a2.registeredsite.com [64.225.255.11]) by mail10.atl.registeredsite.com (8.12.8/8.12.6) with ESMTP id h4UGq3PG008197; Fri, 30 May 2003 12:52:06 -0400 Received: from sean ([66.185.161.90]) by imta02a2.registeredsite.com with SMTP id <20030530165203.QWZP16584.imta02a2.registeredsite.com@sean>; Fri, 30 May 2003 12:52:03 -0400 From: "W. Sean Hennessy" To: "Ant Users List" , Subject: RE: ClearCase UCM and Ant Best Practices Date: Fri, 30 May 2003 09:51:49 -0700 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 In-Reply-To: Importance: Normal X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N Here is one view ( no pun on StarBase intended :) Most UML tools provide some control mechanism to specify the source folders so some tailoring should be possible. Rational provides a mind numbing number of tailoring mechanisms and plug in capability. Highly recommend the Rational con$ulting $ervice$ to provide$ a$$i$tance with mentoring your migration and automated build scripting. Be explicit about your build environment requirements up front. I. Rational The UML Model (mdl) would live under a designated folder eg: ${doc.dir}. The UML model generated source would target a source folder eg: ${src.dir}. SCM Best practices recommend Naming conventions be established early on such that package naming would facilitate the component project management. A Component (CSCI) itself can be made up of other CSCI which would drive a hierarchical Software Development Folder (SDF). (numbered folder naming convention facilitates ordered directory display) II. Ant Ant build scripts could be setup to match the SDF directory layout below. Proj-CSCIName/4.bin/build.xml would have dependent targets which would call each sub component's ${Proj-CSCIName}/${3.1.SubComp-CSCIName-bin.dir}/build.xml ${Proj-CSCIName}/${3.2.SubComp-CSCIName-bin.dir}/build.xml would have dependent targets which would call ${3.1.SubComp-CSCIName-bin.dir}/build.xml ${3.2.SubComp-CSCIName-bin.dir}/build.xml III. Corresponding Software Development Folder directory layout /Proj-CSCIName +- 1.doc +- 2.java.src +- 3.1.SubComp-CSCIName +- 1.doc +- 2.java.src +- com +- cmpyname +- SubComp-CSCIPkgName +- 3.SubComp-CSCIName +- 4.bin +- 5.lib +- 6.test +- com +- cmpyname +- SubComp-CSCIPkgName +- 7.sql +- 8.web +- 3.2.SubComp-CSCIName +- 1.doc +- 2.cc.src +- 3.1.SubComp-CSCIName +- 3.2.SubComp-CSCIName +- 4.bin +- 5.lib +- 6.test +- 7.sql +- 8.web +- 4.bin +- 5.lib +- 6.test +- 7.sql +- 8.web Good Luck. -----Original Message----- From: Scott Stirling [mailto:scottstirling@rcn.com] Sent: Friday, May 30, 2003 5:40 AM To: Ant Users List Subject: ClearCase UCM and Ant Best Practices Hi, I'm working on a StarTeam to ClearCase UCM conversion. It's very interesting how UCM comes with certain restrictions that don't exist with other SCM systems such as Perforce, CVS and StarTeam. If you don't know, ClearCase UCM (Unified Change Management) puts a layer of abstraction on top of base ClearCase, such that the low level, day-to-day SCM interaction and organization you are probably used to from other SCM systems (including base ClearCase) is encapsulated/buried under Projects, Components, and Activities. A Project can be made of an arbitrary set of Components. A Component is a collection of files and folders that is self-contained within a top-level directory, and is a versionable, buildable unit. Components cannot be nested and neither can projects. Sharing files between Components can only be done by putting the files in a Component -- there's no such thing as a loose directory or a file that's not part of one Component or another in ClearCase UCM. The bottom line is that in UCM you must re-think your source control in terms of Components (isolated top-level directories and their contents) and their dependencies. You aren't just dealing with a hierarchical file system structure. Why UCM, you ask? Because management wants it for accountability, reporting and project management (via ClearQuest, the defect/change request tool), and QA wants it for ClearQuest (which integrates beautifully (in theory) with UCM out of the box). The product and management requirements are such that we have an enterprise Java and Oracle product broken up into 4 or 5 different UCM projects, with 5-10 Components in each. We're trying to support versioning and upgradability at a pretty low level -- i.e., the level of subsets of Java packages and various tid-bits inside a single war file. Anyway, UCM, Ant and Java seem to be a rare combo in comparison to other SCMs. I'm looking for best practices for organizing a large Java project in UCM and building its various Components and Projects with Ant. I'd greatly appreciate any pointers. I've searched Google and the Rational Dev site with scant results. Regards, Scott Stirling Framingham, MA --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscribe@ant.apache.org For additional commands, e-mail: user-help@ant.apache.org