Re: Refactoring the Maven Build
Hi Jesse (and everyone), you are more than welcome to not go so easy on me. I am a hands-on process improvement guy with many years of experience as a build engineer and release manager. I am also the Editor in Chief at CM Crossroads (www.cmcrossroads.com) where I write about topics related to configuration management including build engineering. I have worked with Ant, Make/GNU Make and MS Build along with Maven 1.0.2 and Maven 2. I have been struggling to get my arms around Maven for some time now and wanted to make a concerted effort to get past my learning curve because it has become increasingly clear that Maven is the build tool of choice for Java applications. In my work, I have been asked several times to review existing Maven builds that had the problems that I described in the article. I did not create these problems. They were created by software developers who were, as you say, "a higher caliber maven user" than I am today. I appreciate your comments which I am reviewing and I am glad to refactor my article on "Refactoring the Maven build", but I suspect that I am not the only person struggling to get up to speed with maven. Perhaps I am a little more daring because I am willing to publicly start the conversation. I would also suggest that Maven is tough for many people to master and it could be argued that we, as a community, could do a better job explaining the concepts and spreading the knowledge. I would like to be part of that effort. So I will challenge you Jesse (and others) to share what you know (as you obviously do on this list) and also to help mentor the rest of us along. I will do my best to come up to speed as well and I can probably add some value by helping others along with their learning curve too. What other resources are there available for newbies to learn how to use Maven? I know of the PDF that we can all download and books published by O'Reilly and Packt. I have written a number of articles on Maven and will write lots more (which you are absolutely welcome to critique). http://www.cmcrossroads.com/cm-basics/13111-the-maven-super-pom http://www.cmcrossroads.com/cm-basics/13070-getting-started-with-maven http://www.cmcrossroads.com/cm-basics/11656-a-little-more-maven-102 http://www.cmcrossroads.com/cm-basics/10379-maven-102-the-walk-down-memory-lane-you-may-very-well-need Feel free to send me your articles and I will get them published (that includes articles from other beginners who climbing the stairs with me). I will always be delighted incorporate feedback and suggestions as I try to be the best that I can be. regards, Bob http://www.linkedin.com/in/BobAiello __ On 3/8/2010 9:39 AM, Jesse Farinacci wrote: Hi Bob, On Mon, Mar 8, 2010 at 8:09 AM, Bob Aiello wrote: I just wrote an article on tactics for refactoring the Maven build and I would love to get your input. http://www.cmcrossroads.com/cm-basics/13317-refactoring-the-maven-build Feel free to post comments or send them to me privately. Bob Aiello Editor in Chief CM Crossroads http://www.linkedin.com/in/BobAiello raiello [at] acm.org Well, you seem to be a manager and not a technical developer, so I'll go easy on you. Your article is definitely filled with the right buzz words, they just don't seem to be used appropriately. The title, Refactoring the Maven Build, suggests that there will be some sort of detail provided on how to refactor the Maven pom.xml, but there aren't any details on this at all. Tip # 1 - Using help:effective-pom to diagnose problems is good Tip # 2 - Understanding what is going on in the build is generically useful Tip # 3 - Adding tracing to Maven itself isn't going to be useful to any reader unless you provide your changes, please do not Tip # 4 - Declaring dependencies in a clear and consistent way? What does this even mean? Being a correct, well-formed XML document will see to that.. Tip # 5 - There's so much wrong in this one I don't know where to start ... please just delete it Tip # 6 - This is the likely result of your misunderstanding Maven, and switching the packaging type from jar to war without ever cleaning out the .m2/repo and/or without changing the artifact's version - tsk-tsk on you! Tip # 7 - Anyone that has written a plugin for Maven, even a HelloWorldMojo, is going to be of a higher caliber Maven user than you.. telling them to 'optimize' their plugins isn't at all valuable or useful Tip # 8 - Here, you seem to have digressed from the original thesis; are you speaking about a Maven Repository Manager? It's unclear, and worse still, you provide no details about what you're trying to fix, or how you recommend fixing it Tip # 9 - This is a non-issue if you are using well defined best practices for software development - by this I mean using actual versio
Maven/Nexus/SVN Consulting gig in NJ!
Hi everyone, I am posting this for a colleague of mine who has an interesting gig in NJ. __ *Maven/Nexus/Subversion Implementation Specialist* *Short-term Consulting -- initial phase is 1 week * * * *Overview:* Client is in the process of replacing their current version control tool (PVCS) with Collabnet's Subversion tool. The development organization is a multi-platform shop performing JAVA and Websphere development. They are looking to integrate the use of Maven and Nexus as part of this conversion to improve the control, quality and efficiency of their software build process while utilizing RAD as the IDE platform. Currently the development team is performing this work as an additional assignment to their day job. They have completed much integration but are having integration and optimization issues with Maven and Nexus with RAD. They would like CMI to assist them in completing the integration of these tools for this "Pilot" project. We are in the process of identifying a consultant to help us meet the Maven / Nexus integration SME needs of this client engagement. We are in the early stages of assisting in the customization / optimization of Maven and Nexus within our client's RAD IDE. Their source code control tool is Subversion and they are also using Hudson for continuous builds. I'd classify the current need as "assessment and recommendation" - We' re anticipating getting the longer-term work that is available behind this, as an off-shoot of this initial phase. The candidate will accompany and report to other CMI staff. *Responsibilities:* Ø Identify the software build impacts to moving to the new tools including Subversion, Maven and Nexus. Ø Assist with the integration and optimization of Subversion, Maven and Nexus to support the UBS software build environment. *Required knowledge and experience:* Most Important: Maven/Nexus Collabnet's Subversion (Administrative skills) Also Beneficial: Java and Websphere Software Development RAD IDE Additional knowledge as a bonus: Collabnet's TeamForge Hudson *Contact:* Oliver Eaton Recruiting Manager CMI oliver.ea...@cmi.com 732-450-1100 ext. 114 * * * * *Additional Notes:* The initial pilot is to get one development group up and operational on the new tool infrastructure. That would include Subversion as the version control repository and Maven and Nexus as supporting build tools. The next phase of the pilot would consider the use of TeamForge (they have a trial license) and Hudson for support of continuous integration. The two biggest issues they are facing are implementing the necessary controls to ensure integrity without burdening the developer with new process requirements (we had much discussion with client on this and Best Practices are going to have to be compromised initially to get this project off the ground) and configuring Maven, Lexus and SVN to a lesser to degree to do want they need to have done. In the meeting we discussed the issue of developers delivering "JAR" files to the build environment and stated that could be controlled through SVN and the issue of developers including links to software outside the controlled environment and stated that could be controlled by limiting the allowable IP addresses for file access. Another key point is the development team doing this project as a sanctioned "skunk works". As a result the current team that does CM has not been including in this project. We need to make sure the solution supports both the development team and the corporate CM team.
Refactoring the Maven Build
Hi everyone, I just wrote an article on tactics for refactoring the Maven build and I would love to get your input. http://www.cmcrossroads.com/cm-basics/13317-refactoring-the-maven-build Feel free to post comments or send them to me privately. Bob Aiello Editor in Chief CM Crossroads http://www.linkedin.com/in/BobAiello raiello [at] acm.org - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Articles for CM Crossroads
Hi Everyone, I am looking for people who are interested in sharing best practices for using Ant, Maven and Make. The articles will appear in CM Basics (www.cmcrossroads.com). We have 60,000+ readers with lots of existing articles and forums on build engineering. Please contact me directly if you are interesting in submitting an article! Bob Aiello raie...@acm.org Editor in Chief CM Crossroads http://www.linkedin.com/in/BobAiello - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Articles for CM Crossroads
Hi everyone, the June of CM Crossroads (www.cmcrossroads.com) is on "Evaluating and Selecting Right Tools". If you are interested in participating then I need a draft of your article by June 10th (publication date is June 17th). Articles are usually around 1200 - 1500 words and I provide editing support (e.g. grammer, spelling, word usage). Oh and I am always looking for short articles on Ant, Maven, GNU Make and MSBuild etc. Bob Aiello Editor in Chief CM Crossroads raie...@acm.org http://www.linkedin.com/in/BobAiello - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Re: Senior Release Engineer Opportunity in Boston
What is the salary/rate? bob.aie...@ieee.org - http://www.linkedin.com/in/BobAiello - Sent via BlackBerry -Original Message- From: durgaK Date: Mon, 30 Mar 2009 11:49:04 To: Subject: Senior Release Engineer Opportunity in Boston Seek individual with strong skills in Subversion, Maven, J2EE, Weblogic, Builds & Releases for Release Engineer position with an established and growing software service company. Responsibilities: • Build various versions of the application (Maven) and deploy to development environments • Maintain the source code and related content in Subversion • Maintain and enhance build scripts • Plan and automate the release process • Provide support to the development team for Configuration Management and Build issues • Ability to learn new tools as well as think and lead independently Qualifications: • 7+ years experience with build and release engineering with at least 3 years in Java/J2EE • Worked in a web based J2EE environment • Excellent knowledge of Java/J2EE • Good knowledge of BEA Weblogic • Good grasp of a scripting language like Perl • Good understanding of Solaris/Unix and Windows OS • Knowledge of Continuum, Jira and Ant a big plus • Knowledge of Oracle/SQL Server/MYSQL a plus • Prior experience developing Java/J2EE applications a plus Please send a Word resume when you contact me! No work authorization (visa) support can be provided. Thanks, Durga Kotikalapudi Recruiter, CMI durga.kotikalap...@cmi.com -- View this message in context: http://www.nabble.com/Senior-Release-Engineer-Opportunity-in-Boston-tp22790247p22790247.html Sent from the Maven - Users mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Re: Maven vs. Hudson
The comparison would be better if you said Hudson vs CruseControl or Maven vs Ant --Original Message-- From: Łukasz Warchoł To: users@maven.apache.org ReplyTo: Maven Users List Sent: Mar 18, 2009 6:50 AM Subject: Maven vs. Hudson Hello, Can anybody tell me what are de differences between Maven and Hudson? Thanks in advance, Luke bob.aie...@ieee.org - http://www.linkedin.com/in/BobAiello - Sent via BlackBerry
Re: Best practice? Where to put app-server specific files (log4j.xml, datsource xml files, jboss-service.xml , etc.)
I believe that most people use the Ant plugin Assembly to parse the dev, qa, prod environment files. I would suggest that you create them all during the build. I have seen some people put in the environment during the build and parse the files just for that environment. This meant that they had to rebuild for dev, QA and Prod (very bad practice!). From a compliance point of view you do want your QA build to be the same as the build that you promote into production (obviously you have a deployment script to change over the environment files). What does everyone else do? Bob Aiello Editor in Chief CM Crossroads www.cmcrossroads.com http://www.linkedin.com/in/BobAiello - Original Message - From: "Rick" <[EMAIL PROTECTED]> To: "Maven Users List" Sent: Monday, October 06, 2008 6:25 PM Subject: Best practice? Where to put app-server specific files (log4j.xml, datsource xml files, jboss-service.xml , etc.) I'm working on a typical JEE application that will be deployed to JBoss. (JBoss5 if it matters.) Things are going. I have a pretty standard setup: Parent Module EJB-JAR Module JAR Module WEB Module EAR Module Currently, however, I'm manually having to deal with certain files that I need in JBoss: * datasource.xml files * jboss-service.xml * log4j.xml files There will probably be some others as well. What is the best way to deal with these files? Is the best practice to create a directory in the parent module or ear module and just create some custom ant task to move them around where they need to go? I couldn't find much about a jboss maven plugin to help with these tasks, so I'm assuming hooking in regular old ant is the way to go? I'll also want to have certain variables in those files replaced with variables from a profile (dev, test, prod) depending on what profile I'm running. I'll look into that as well, since I'm sure there are some docs on it, but are the any issues to be aware of since I'm guessing these aren't standard files that I'm dealing with so is using the replacement mechanism more difficult? Thanks - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
setting the version number in Maven
Hi, What is the easiest way to set a version in the pom.xml ? I have a maven app that has 30 poms and in order to update the version, I have to modify each of these poms manually. 1.1.0 I would like to be able to separate out the version So that I can just change it in one place and the 30 poms will pick up the change. I keep thinking that I should be able to have something like... ${myversion} And a properties file somewhere in which I set the version. Any suggestions on a simply way to do this would be greatly appreciated!!! Bob Aiello [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Why Maven is Hard?
One of Maven's values is that it "does the heavy lifting for you". (as it's literature describes.) But that is also exactly the problem - because it is sometimes hard to tell what is going on. You need to keep the Maven cycle in mind at all times - and that does add another level of indirection. As a build engineer I am often getting complicated Maven poms from developers and then I gotta decipher what is happening. With Ant - it's a lot more transparent. I am not criticizing maven (then we'd be talking about the painful bugs), but I do think that it is fair to say that it is harder to understand what is happening... - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Does maven work with Cygwin? Please help!
I have run it under cygwin - although actually I did build it locally first. There were some tweaks necessary. Bob raiello at acm.org -Original Message- From: Alex Worden [mailto:[EMAIL PROTECTED] Sent: Thursday, August 02, 2007 6:34 PM To: users@maven.apache.org Subject: Does maven work with Cygwin? Please help! Hi, I've just installed the latest Cygwin and maven 2.0.6 When I open a cygwin window and attempt to execute maven --version I get the following: bash-3.2$ mvn --version bash: /cygdrive/c/bin/maven-2.0.6/bin/mvn: /bin/sh: bad interpreter: No such file or directory Also - please reply directly to me as I am not subscribed to this mailing list (and I don't want to be subscribed to it!). I cannot believe you guys don't have a searchable user forum on your website! Thanks for the help, Alex - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
permissions on a file after assemby...
I have a file that ends up being created with some permissions that are not what I expected. Is this a (known) maven bug or does anyone have a suggestion on how I can debug this. >ls -lt total 4 ---x-wx--- 1 user user 125 Aug 1 2007 myfile.xml - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: looking for users of AccuRev and/or QuickBuild
I am writing a review of Accurev for CM Crossroads and I am looking into the integrations. (I also use Ant/Maven daily). Please include me... -Original Message- From: Tim Foster [mailto:[EMAIL PROTECTED] Sent: Monday, June 25, 2007 11:59 AM Eastern Standard Time To: Maven Users List Subject:looking for users of AccuRev and/or QuickBuild I'm looking for any Maven users who use AccuRev for source control and/or QuickBuild for build management who would like to compare notes. Please reply directly to me. Tim mailto:[EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: setting Maven on Linux
What is listening on 8080? Is this tomcat or something maven puts out there? If it is tomcat - is there a specific way to configure it? -Original Message- From: Antonio Petrelli [mailto:[EMAIL PROTECTED] Sent: Tuesday, May 15, 2007 2:52 PM To: Maven Users List Subject: Re: setting Maven on Linux 2007/5/15, Bob Aiello <[EMAIL PROTECTED]>: > Is this what you mean? No, this: true http your.proxy.host 8080 localhost|127.0.0.1 Antonio - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
tomcat/apache setup...
Hmmm looking at some of the other postings here I realize that I did not setup tomcat/apache. (I was thinking that the maven server might have some httpd bundled.) in terms of tomcat/apache what do I need to setup? (I have been going through every piece of maven setup documentation that I could find and I have not seen anything on this. Is there a setup checklist hiding somewhere? Bob -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Tuesday, May 15, 2007 2:40 PM To: users@maven.apache.org Subject: RE: setting Maven on Linux You have to define the proxy in setting.xml in proxy section. Thanks Jaish -Original Message- From: Bob Aiello [mailto:[EMAIL PROTECTED] Sent: Tuesday, May 15, 2007 11:37 AM To: Maven Users List Subject: setting Maven on Linux I am working on setting up maven on a Linux server behind a corporate firewall and I am trying to understand how maven works. I think that I need to have maven listening on port and httpd listening on 8080. I see that when I execute the maven-proxy.sh in the maven2/bin directory the port starts to show that it is listening (as reported by netstat -an). So am correct in thinking that the listener for is this maven-proxy.sh script? What should I be using to listen on port 8080? (I suspect that I need to run Apache, but it is also possible that maven bundles the httpd server.) When I try to use... mvn -e archetype:create \ -DarchetypeGroupId=org.apache.maven.archetypes \ -DgroupId=com.mycompany.app \ -DartifactId=my-app I get org.apache.maven.lifecycle.LifecycleExecutionException: The plugin 'org.apache.maven.plugins:maven-archetype-plugin' does not exist or no valid version could be found Which makes me think that maven is not setup or my firewall is open yet. Any help would be greatly appreciated... Bob - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: setting Maven on Linux
Is this what you mean? central-mirror central http://myserver02.bob.com:/repository snapshot-mirror snapshot http://myserver02.bob.com:/repository -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Tuesday, May 15, 2007 2:40 PM To: users@maven.apache.org Subject: RE: setting Maven on Linux You have to define the proxy in setting.xml in proxy section. Thanks Jaish -Original Message- From: Bob Aiello [mailto:[EMAIL PROTECTED] Sent: Tuesday, May 15, 2007 11:37 AM To: Maven Users List Subject: setting Maven on Linux I am working on setting up maven on a Linux server behind a corporate firewall and I am trying to understand how maven works. I think that I need to have maven listening on port and httpd listening on 8080. I see that when I execute the maven-proxy.sh in the maven2/bin directory the port starts to show that it is listening (as reported by netstat -an). So am correct in thinking that the listener for is this maven-proxy.sh script? What should I be using to listen on port 8080? (I suspect that I need to run Apache, but it is also possible that maven bundles the httpd server.) When I try to use... mvn -e archetype:create \ -DarchetypeGroupId=org.apache.maven.archetypes \ -DgroupId=com.mycompany.app \ -DartifactId=my-app I get org.apache.maven.lifecycle.LifecycleExecutionException: The plugin 'org.apache.maven.plugins:maven-archetype-plugin' does not exist or no valid version could be found Which makes me think that maven is not setup or my firewall is open yet. Any help would be greatly appreciated... Bob - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
setting Maven on Linux
I am working on setting up maven on a Linux server behind a corporate firewall and I am trying to understand how maven works. I think that I need to have maven listening on port and httpd listening on 8080. I see that when I execute the maven-proxy.sh in the maven2/bin directory the port starts to show that it is listening (as reported by netstat -an). So am correct in thinking that the listener for is this maven-proxy.sh script? What should I be using to listen on port 8080? (I suspect that I need to run Apache, but it is also possible that maven bundles the httpd server.) When I try to use... mvn -e archetype:create \ -DarchetypeGroupId=org.apache.maven.archetypes \ -DgroupId=com.mycompany.app \ -DartifactId=my-app I get org.apache.maven.lifecycle.LifecycleExecutionException: The plugin 'org.apache.maven.plugins:maven-archetype-plugin' does not exist or no valid version could be found Which makes me think that maven is not setup or my firewall is open yet. Any help would be greatly appreciated... Bob - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
NYC Maven/Ant Build Engineer position...
I am looking to hire build engineer/junior java developer to help me with Unix/Linux based Maven/Ant Java builds for a number of exciting large financial systems (www.accelortrading.com). If you are interested please contact me directly. Bob Aiello Manager, Process FXall LLC (www.fxall.com) 646 268 9914 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]