Tags

android (7) anonymity (9) ant (10) apache (60) apple (9) atv (18) australia (8) bernardet (7) bombardier (7) book (7) browser (11) business (8) caliber30 (61) canon (9) captcha (8) cedricwalter (7) checklist (9) chrome (6) collection (8) comcontent (7) continuousbuild (28) design (13) designpattern (23) desktop (8) development (31) DIY (9) draganflyer5 (9) dslr (14) eclipse (30) ek4 (8) electronic (18) enfrancais (66) event (8) figures (14) firefox (20) firmware (8) flash (9) flickr (6) framework (12) fud (9) game (19) gaming (6) google (70) gpl (8) gps (9) hacking (25) hdtv (7) hollidays (15) homecinema (14) homepage (20) howto (75) innoveo (7) iphone (7) italy (10) itsatrap (8) java (80) javascript (11) joke (12) joomla (223) joomla15 (39) joomlacloud (7) junit (9) kde (11) kyosho (62) links (17) linux (127) LittleBigPlanet (16) mambo (18) manual (8) manurhin (9) maven (42) mediacenter (10) microsoft (53) modding (10) module (21) morespeed (16) motor (8) motorcycle (13) myhomepage (14) mysql (14) nas (14) neogeo (20) opencomment (27) opensource (63) opensuse (10) oss (8) p2p (7) panasonic (6) patch (32) pc (12) pdf (8) php (28) picasa (7) plugin (67) privacy (9) projector (11) protection (7) ps3 (43) publicity (9) quad (18) raptor30 (7) rchelicopter (161) release (7) review (32) robot (9) robotic (7) rss (8) safety (8) scooter (29) security (62) securityimage (8) securityimage3 (6) securityimage4 (21) securityimage5 (19) securityimages (19) securityimages5 (6) server (17) simulator (8) smugmug (13) snk (16) software (31) sony (39) spammer (7) statistics (13) storage (7) subversion (7) suse (12) switzerland (7) teamcity (16) testing (9) thundertiger (20) tips (31) tomcat (7) tomtom (7) translatetofrench (8) trip (17) troubleshooting (7) tutorial (9) twitter (7) upgrade (15) vespa (10) video (17) vintage (9) watercooling (9) web2.0 (28) windows (15) xbmc (7) xbox (10) zurich (18) zürich (11)

Latest Comments

Popular Post

items tagged with maven

A strategy for Integrations versions with maven...
Written By: Administrator
Section: Java

Category: Apache Maven

2008-04-25 16:11:44

 apache-maven-project-2.png

We are currently asking ourselves at INNOVEO, if we need to keep a version of integration versions.
Integration versions main objective is to be integrated with other modules to make and test an
application or a framework. This question is quickly becoming essential when working with several
modules, where you will have to to rely on intermediate, non finalized versions of modules.

Since we are also following  the continuous integration paradigm for all our modules, Thanks to
Apache MAVEN, these integration versions are produced by a continuous integration server
(Team City from JetBrain), very frequently.

So, how can you deal with these, possibly numerous, integration versions? The response is coming
from this extract from IVY documentation

There are basically two ways to deal with them,

Use a naming convention
The idea is pretty simple, each time you publish a new integration of your module you give the same
name to the version (in maven world this is for example 1.0-SNAPSHOT). The dependency manager
should then be aware that this version is special because it changes over time, so that it does not
trust its local cache if it already has the version, but check the date of the version on the repository
and see if it has changed.

 
Create automatically a new version for each
in this case you use either a build number or a timestamp to publish each new integration version
with a new version name. Then you can use one of the numerous ways in Ivy to express a version
constraint. Usually selecting the very latest one (using 'latest.integration' as version constraint) is
enough.

But usually we recommend to use the second one, because using a new version each time you publish
a new version better fits the version identity paradigm, and can make all your builds reproducible,
even integration one. And this is interesting because it enables, with some work in your build system,
to introduce a mechanism to promote an integration build to a more stable status, like a milestone
or a release.

The example given is very interesting...

Imagine you have a customer which comes on a Monday morning and asks your latest version of your
software, for testing or demonstration purpose. Obviously he needs it for the afternoon :-) Now if
you have a continuous integration process and a good tracking of your changes and your artifacts, it
may occur that you are actually able to fulfill his request without needing the use of a dolorean to
give you some more time :-) But it may occur also that your latest version stable enough to be used
for the purpose of the customer was actually built a few days ago, because the very latest just break
a feature or introduce a new one you don't want to deliver. In this case, you can deliver this 'stable'
integration build if you want, but be sure that a few days, or weeks, or even months later, the
customer will ask for a bug fix on this demo only version. Why? Because it's a customer, and we
all know how they are :-)

So, with a build promotion feature of any build in your repository, the solution would be pretty easy:
when the customer ask for the version, you not only deliver the integration build, but you also
promote it to a milestone status, for example. this promotion indicates that you should keep track of
this version in a long period, to be able to come back to it and create a branch if needed.

Note this is the strategy at Eclipse.org, where a nightly build (N20080420) can be promoted to an Maintenance
release if quality is good enough. Below I've put an extract of a presentation document from © 2006 by Alex Blewitt;
made available under the EPL v1.0 |  2006-03-20  |  http://www.rcpapps.org/

We are now using the same naming convention at INNOVEO for our product

Eclipse_logo_white
Eclipse builds are of different type:

(N) Nightly
  • Built every night (whether successful or not)
  • Used to run quality metrics and whether tests have passed
(I) Integration
  • Used to ensure that code works together
  • Used to run quality metrics
(M) Maintenance
  • Released at the end of each build cycle
(R) Release
  • Released at the end of each release cycle

Each product is given a build id,

  • Build Type (N, I, M or R)
  • Build ID (M20060118)
  • Build Label (M20060118-1600)
  • Timestamp of build (16:00 on the 18th Jan, 2006)
  • Each release corresponds to a specific build label
  • May also be known as other aliases in CVS
  • R3_1_2, vI20060118-1000, R3_1_Maintenance

To keep the Eclipse ecosystem in step, everything is tagged

  • Part of the build process tags the current code with vI20060320
  • A build is only promoted from N->I if there are no build failures
  • A build is promoted from I->M if there are no failures and all the
    functionality works to a satisfactory level
  • A build is promoted from M->R at the end of a release cycle and
    the quality is suitably high

 On the other hand, the main drawback of this solution is that it can produce a lot of intermediate
versions, and you will have to run some cleaning scripts in your repository...

I will present You later how you can achieve this goal with MAVEN and Team City



Apache Maven BEA Weblogic 10.3 remote deployment
Written By: Administrator
Section: Java

Category: Apache Maven

2010-03-28 19:14:26

 maven-logo-2.gif_3_3  In this small post I will show you how to deploy automatically some artifacts of your build into bea_logo1Weblogic 10.3 by using the weblogic-maven-plugin

This plugin will support various tasks within the Weblogic 8.1 and 9.x environment. Such tasks as deploy, undeploy,clientgen,servicegen, and appc are supported as well as many others. The plugin uses exposed API's that are subject to change but have been tested in 8.1 SP 4-6 and 9.0 - 9.2 MP3. There are two versions of the plugin to support the two environments based on differences in the JDK. The 9.x version is currently being refactored to support the standard JSR supported deployment interface


Read More About Apache Maven BEA Weblogic 10.3 Remote Deployment...


Apache Maven books
Written By: Administrator
Section: Java

Category: Apache Maven

2008-11-02 21:12:21
maven-logo-2 After reading these book, you may want to try the Questions for the official certification. Maven2 certification at Java Black Belt

 JavaBlackBelt is a community for Java & open source skills assessment. It is dedicated to technical quizzes about Java related technologies. This is the place where Java developers have their technology knowledge and development abilities recognized. Everybody is welcome to take existing and build new exams.

 

maven.the.definitive.guide BetterBuildsWithMaven

Maven: The Definitive Guide (Readable HTML alpha release)

Better Builds with Maven (Free PDF)

  • Covers:Maven 2.0.4
  • Publisher:DevZuz
  • Published:March 2006
  • Authors: John Casey, Vincent Massol, Brett Porter, Carlos Sanchez

    Better Builds with Maven is a comprehensive 'How-to' guide for using Maven 2.0 to better manage the build, test and release cycles associated with software development. The chapters include:

    • An introduction to Maven 2.0
    • Creating, compiling and packaging your first project
    • Best practices and real-world examples
    • Building J2EE Applications
    • Extending builds by creating your own Maven plugins
    • Monitoring the health of source code, testing, dependencies and releases
    • Team collaboration and utilising Continuum for continuous integration
    • Converting existing Ant builds to Maven
0596007507_cat  

Maven: A Developer's Notebook

 

 

 



Auto deployment of Maven artifacts to Oracle Weblogic
Written By: Administrator
Section: Java

Category: Apache Maven

2010-07-04 15:43:28

I found  this time a  new way to deploy Maven artefacts using the Oracle Weblogic Ant API!

If you remember my previous post, there is many ways to deploy your war/ear to Oracle Weblogic

  1. Using Oracle Weblogic development mode, a mode in which a simple copy of your files in a specific autodeploy directory trigger the update/install of these
  2. Using Maven Cargo, this work only if your Oracle Weblogic container is local (see here) on the same machine, where Apache Maven is running
  3. Using a very old Maven plugin (2008), local and remote container are supported, but our builds were sometimes hanging during pre integration phase for no apparent reasons.

And now using the official ANT API of Oracle, by far the MOST stable of all!


Read More About Auto Deployment Of Maven Artifacts To Oracle Weblogic...


Code generation from XSD with JAXB and Maven
Written By: Administrator
Section: Java

Category: Apache Maven

2009-11-13 18:56:24

What you will learn in this small post

  • How to create JAXB proxies at build time using maven-jaxb2-plugin in a continuous build environment (TeamCity / Bamboo)
  • How to generate from an XSD file (XML-Schema-Definitions) Java code.

Requirements

  • We will use JAXB2 (see JSR 222 and JAXB 2.x).
  • We use Maven 2.2.1, the latest available version

Read More About Code Generation From XSD With JAXB And Maven...





There are 42 items tagged with maven. You can view all our tags in the Tag Cloud

<< Start < Previous 1 2 3 4 5 6 7 8 9 Next > End >>
Page 1 Of 9

Support

My status

Download

You can download all my Joomla! extensions and a lot more HERE

Donations

Thank You for supporting my work
Click Here to make a donation