Wednesday, March 27, 2013

Maven Options

No comments:
There are many options that can be passes as parameter to maven, those useful options are,



usage: mvn [options] [<goal(s)>] [<phase(s)>]

Options:
 -am,--also-make                        If project list is specified, also
                                        build projects required by the
                                        list
 -amd,--also-make-dependents            If project list is specified, also
                                        build projects that depend on
                                        projects on the list
 -B,--batch-mode                        Run in non-interactive (batch)
                                        mode
 -C,--strict-checksums                  Fail the build if checksums don't
                                        match
 -c,--lax-checksums                     Warn if checksums don't match
 -cpu,--check-plugin-updates            Ineffective, only kept for
                                        backward compatibility
 -D,--define <arg>                      Define a system property
 -e,--errors                            Produce execution error messages
 -emp,--encrypt-master-password <arg>   Encrypt master security password
 -ep,--encrypt-password <arg>           Encrypt server password
 -f,--file <arg>                        Force the use of an alternate POM
                                        file.
 -fae,--fail-at-end                     Only fail the build afterwards;
                                        allow all non-impacted builds to
                                        continue
 -ff,--fail-fast                        Stop at first failure in
                                        reactorized builds
 -fn,--fail-never                       NEVER fail the build, regardless
                                        of project result
 -gs,--global-settings <arg>            Alternate path for the global
                                        settings file
 -h,--help                              Display help information
 -l,--log-file <arg>                    Log file to where all build output
                                        will go.
 -N,--non-recursive                     Do not recurse into sub-projects
 -npr,--no-plugin-registry              Ineffective, only kept for
                                        backward compatibility
 -npu,--no-plugin-updates               Ineffective, only kept for
                                        backward compatibility
 -nsu,--no-snapshot-updates             Suppress SNAPSHOT updates
 -o,--offline                           Work offline
 -P,--activate-profiles <arg>           Comma-delimited list of profiles
                                        to activate
 -pl,--projects <arg>                   Comma-delimited list of specified
                                        reactor projects to build instead
                                        of all projects. A project can be
                                        specified by [groupId]:artifactId
                                        or by its relative path.
 -q,--quiet                             Quiet output - only show errors
 -rf,--resume-from <arg>                Resume reactor from specified
                                        project
 -s,--settings <arg>                    Alternate path for the user
                                        settings file
 -T,--threads <arg>                     Thread count, for instance 2.0C
                                        where C is core multiplied
 -t,--toolchains <arg>                  Alternate path for the user
                                        toolchains file
 -U,--update-snapshots                  Forces a check for updated
                                        releases and snapshots on remote
                                        repositories
 -up,--update-plugins                   Ineffective, only kept for
                                        backward compatibility
 -V,--show-version                      Display version information
                                        WITHOUT stopping build
 -v,--version                           Display version information
 -X,--debug                             Produce execution debug output

--
Thank you.


Regards,
Kaleeswaran.S
Read More

Jenkins Environment variables

No comments:



Jenkins is having many environment variables, Each environment variable is very important one or other way. Lets see how can we use these variables efficiently  in jenkins.

E.g : BUILD_NUMBER

While archiving each build on a job. We can name the build such as MyJob_1.

Goal: -DjobName=${env.JOB_NAME}  -DbuildNumber=${env.BUILD_NUMBER}



Environment Variable Description
BUILD_NUMBER The current build number, such as "153"
BUILD_ID The current build id, such as "2005-08-22_23-59-59" (YYYY-MM-DD_hh-mm-ss)
BUILD_URL The URL where the results of this build can be found (e.g. http://buildserver/jenkins/job/MyJobName/666/)
NODE_NAME The name of the node the current build is running on. Equals 'master' for master node.
JOB_NAME Name of the project of this build. This is the name you gave your job when you first set it up. It's the third column of the Jenkins Dashboard main page.
BUILD_TAG String of jenkins-${JOB_NAME}-${BUILD_NUMBER}. Convenient to put into a resource file, a jar file, etc for easier identification.
JENKINS_URL Set to the URL of the Jenkins master that's running the build. This value is used by Jenkins CLI for example
EXECUTOR_NUMBER The unique number that identifies the current executor (among executors of the same machine) that's carrying out this build. This is the number you see in the "build executor status", except that the number starts from 0, not 1.
JAVA_HOME If your job is configured to use a specific JDK, this variable is set to the JAVA_HOME of the specified JDK. When this variable is set, PATH is also updated to have $JAVA_HOME/bin.
WORKSPACE The absolute path of the workspace.
SVN_REVISION For Subversion-based projects, this variable contains the revision number of the module. If you have more than one module specified, this won't be set.
CVS_BRANCH For CVS-based projects, this variable contains the branch of the module. If CVS is configured to check out the trunk, this environment variable will not be set.
GIT_COMMIT For Git-based projects, this variable contains the Gitish of the commit checked out for the build
GIT_BRANCH For Git-based projects, this variable contains the Git branch that was checked out for the build (normally master)


--
Thank you.


Regards,
Kaleeswaran.S
Read More

Eclipse Remote Debugging

No comments:
Eclipse Remote Debugging




In earlier posts, I wrote about remote debugging with eclipse. Today i found some interesting eclipse debugging blogs,


http://javarevisited.blogspot.in/2011/02/how-to-setup-remote-debugging-in.html

http://javarevisited.blogspot.in/2011/07/java-debugging-tutorial-example-tips.html



--
Thank you.


Regards,
Kaleeswaran.S
Read More

Wednesday, March 13, 2013

Jenkins CLI commands

No comments:

Jenkins CLI commands

  

  • build: Builds a job, and optionally waits until its completion.
  • cancel-quiet-down: Cancel the effect of the "quiet-down" command.
  • clear-queue: Clears the build queue
  • connect-node: Reconnect to a node
  • copy-job: Copies a job.
  • create-job: Creates a new job by reading stdin as a configuration XML file.
  • delete-builds: Deletes build record(s).
  • delete-job: Deletes a job
  • delete-node: Deletes a node
  • disable-job: Disables a job
  • disconnect-node: Disconnects from a node
  • enable-job: Enables a job
  • get-job: Dumps the job definition XML to stdout
  • groovy: Executes the specified Groovy script.
  • groovysh: Runs an interactive groovy shell.
  • help: Lists all the available commands.
  • install-plugin: Installs a plugin either from a file, an URL, or from update center.
  • install-tool: Performs automatic tool installation, and print its location to stdout. Can be only called from
    inside a build.
  • keep-build: Mark the build to keep the build forever.
  • list-changes: Dumps the changelog for the specified build(s).
  • login: Saves the current credential to allow future commands to run without explicit credential information.
  • logout: Deletes the credential stored with the login command.
  • mail: Reads stdin and sends that out as an e-mail.
  • offline-node: Stop using a node for performing builds temporarily, until the next "online-node" command.
  • online-node: Resume using a node for performing builds, to cancel out the earlier "offline-node" command.
  • quiet-down: Quiet down Jenkins, in preparation for a restart. Don't start any builds.
  • reload-configuration: Discard all the loaded data in memory and reload everything from file system. Useful when
    you modified config files directly on disk.
  • restart: Restart Jenkins
  • safe-restart: Safely restart Jenkins
  • safe-shutdown: Puts Jenkins into the quiet mode, wait for existing builds to be completed, and then shut down
    Jenkins.
  • set-build-description: Sets the description of a build.
  • set-build-display-name: Sets the displayName of a build
  • set-build-result: Sets the result of the current build. Works only if invoked from within a build.
  • shutdown: Immediately shuts down Jenkins server
  • update-job: Updates the job definition XML from stdin. The opposite of the get-job command
  • version: Outputs the current version.
  • wait-node-offline: Wait for a node to become offline
  • wait-node-online: Wait for a node to become online
  • who-am-i: Reports your credential and permissions
Ref : http://www.kellyrob99.com/blog/2012/02/26/hooking-into-the-jenkinshudson-api-part-2/

--
Thank you.


Regards,
Kaleeswaran.S
Read More

Monday, March 11, 2013

XMLPropertyListConfiguration / Plist Parser example

No comments:

XMLPropertyListConfiguration / Plist Parser example



XMLPropertyListConfiguration is having a fantastic API to work with plist files. But there is no much example for this library. After some googling and library analysis, it came to know that it is very very easy to parse the files !. Here is the example.


    @Test
    public void test() {
        try {
            String plistFile = "/Users/plistFile/info.plist";
            XMLPropertyListConfiguration plist = new XMLPropertyListConfiguration();

            HashMap life = new HashMap();
            life.put("Home", "home.png");
            life.put("Office", "browse.png");
            life.put("School", "mycart.png");
            life.put("College", "offers.png");
            plist.addProperty("Life", life);
           
            HashMap phones = new HashMap();
            phones.put("Nokia", "8000");
            phones.put("Samsung", "4000");

            List<String> imagesArray = new ArrayList<String>();
            imagesArray.add("icon1.png");
            imagesArray.add("icon2.png");
            imagesArray.add("icon3.png");
            phones.put("PhoneIcons", imagesArray);
            plist.addProperty("Phones", phones);
           
            List<String> imagesArray1 = new ArrayList<String>();
            imagesArray1.add("icon1.png");
            imagesArray1.add("icon2.png");
            imagesArray1.add("icon3.png");
                       
            Map dashBoard = new HashMap();
            dashBoard.put("imgArray", imagesArray1);

            plist.addProperty("ImageArrayBoard", dashBoard);
            plist.addProperty("ImageArray.innnerLevelTag", "IamInnerLevelTag");
            plist.save(plistFile);

            System.out.println("File saved .... ");
        } catch (Exception e) {
            System.out.println(e.getLocalizedMessage());
        }
    }

Thats All, Happy Coding :)

Ref : http://commons.apache.org/proper/commons-configuration/apidocs/org/apache/commons/configuration/plist/XMLPropertyListConfiguration.html
Read More