Sunday, June 6, 2010

updating dot files from iDisk

@echo off
net use i: http://idisk.me.com/onacit /user:onacit
copy i:\Private\dotfiles\dotemacs %HOMEPATH%\.emacs
robocopy i:\Private\dotfiles\dotelisp %HOMEPATH%\.elisp /E
robocopy i:\Private\dotfiles\dotemacs.d %HOMEPATH%\.emacs.d /E
copy i:\Private\dotfiles\dotm2/settings.xml %HOMEPATH%\.m2\settings.xml
copy i:\Private\dotfiles\dotm2/settings-security.xml %HOMEPATH%\.m2\settings-security.xml
robocopy i:\Private\dotfiles\dotsubversion %HOMEPATH%\.subversion /E
net use i: /delete

Thursday, April 15, 2010

Subversion: making tags not modified if added once.

REPOS="$1"
TXN="$2"

# Make sure that the log message contains some text.
SVNLOOK=/usr/bin/svnlook

$SVNLOOK changed -t "$TXN" "$REPOS" | grep "^A\W.*\/tags\/[^\/][^\/]*\/..*" && /bin/echo "ADD: Cannot commit to tags!" 1>&2 && exit 1

$SVNLOOK changed -t "$TXN" "$REPOS" | grep "^U\W.*\/tags\/" && /bin/echo "UPDATE: Cannot commit to tags!" 1>&2 && exit 1

$SVNLOOK changed -t "$TXN" "$REPOS" | grep "^D\W.*\/tags\/" && /bin/echo "DELETE: Cannot commit to tags!" 1>&2 && exit 1

Wednesday, March 24, 2010

google-code-prettify

I found another syntax highlighting tool. Check google-code-prettify out!.
I followed instructions from one of Philip Johnson's article.

Insert following lines to your <head/> element.

<link href="http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.css" rel="stylesheet" type="text/css"/>
<script src="http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.js" type="text/javascript"/>


Make sure the prettyPrint() function invoked on load of your body tag.

<body onload="prettyPrint()">


Put your source codes between
<pre><code class="prettyprint">
and
</code></pre>
tag like follows.

<pre><code class="prettyprint linenums lang-java">/**
 * A class prints \"hello, world!\".
 *
 * @author Jin Kwon
 */
public class Hello {
    public static void main(String[] args) {
        System.out.println("hello, world!");
    }
}</code></pre>
Note that I had to put the first comment line("/**") to the end of the starting <pre ...>tag for the 'linenums' class works correctly.

And you will get following output.
/**
 * A class prints \"hello, world!\".
 *
 * @author Jin Kwon
 */
public class Hello {
    public static void main(String[] args) {
        System.out.println("hello, world!");
    }
}

I can't say that google-code-prettify is better than Alex Gorbatchev's SyntaxHighlighter.

Check latest dependencies and plugins with Maven

You can check the latest version of each dependency and plugin in your pom. See Versions Maven Plugin.
No additional settings are required. Just run built in goals like this.

$ mvn versions:display-dependency-updates
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'versions'.
[INFO] ------------------------------------------------------------------------
[INFO] Building test
[INFO] task-segment: [versions:display-dependency-updates]
[INFO] ------------------------------------------------------------------------
[INFO] [versions:display-dependency-updates {execution: default-cli}]
[INFO] artifact junit:junit: checking for updates from central
[INFO] No dependencies in Dependencies are using the newest version.
[INFO]
[INFO] The following dependencies in Dependencies have newer versions:
[INFO] junit:junit ........................................... 3.8.1 -> 4.8.1
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4 seconds
[INFO] Finished at: Wed Mar 24 20:19:29 KST 2010
[INFO] Final Memory: 25M/255M
[INFO] ------------------------------------------------------------------------

$ mvn versions:display-plugin-updates
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'versions'.
[INFO] ------------------------------------------------------------------------
[INFO] Building test
[INFO] task-segment: [versions:display-plugin-updates]
[INFO] ------------------------------------------------------------------------
[INFO] [versions:display-plugin-updates {execution: default-cli}]
[INFO]
[INFO] The following plugin updates are available:
[INFO] maven-clean-plugin ....................................... 2.2 -> 2.4
[INFO] maven-compiler-plugin .................................. 2.0.2 -> 2.1
[INFO] maven-deploy-plugin ...................................... 2.4 -> 2.5
[INFO] maven-install-plugin ..................................... 2.2 -> 2.3
[INFO] maven-jar-plugin ......................................... 2.2 -> 2.3
[INFO] maven-resources-plugin ................................. 2.3 -> 2.4.2
[INFO] maven-surefire-plugin .................................. 2.4.3 -> 2.5
[INFO]
[WARNING] The following plugins do not have their version specified:
[WARNING] maven-clean-plugin .......................... (from super-pom) 2.4
[WARNING] maven-deploy-plugin ......................... (from super-pom) 2.5
[WARNING] maven-install-plugin ........................ (from super-pom) 2.3
[WARNING] maven-jar-plugin ............................ (from super-pom) 2.3
[WARNING] maven-resources-plugin .................... (from super-pom) 2.4.2
[WARNING] maven-surefire-plugin ....................... (from super-pom) 2.5
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3 seconds
[INFO] Finished at: Wed Mar 24 19:35:48 KST 2010
[INFO] Final Memory: 25M/255M
[INFO] ------------------------------------------------------------------------

Thursday, February 4, 2010

3rd party maven repositories


Make sure there is no filename-unsafe character in <id/>



Maven Repository.dev.java.net


Maven2 Repository.dev.java.net


JBoss Release Repository



JBoss Snapshot Repository

Wednesday, January 20, 2010

Xlet Lifecycle

Xlet's lifecycle can be easily visualized from the four callback methods' definitions.


LOADED
This state actually is not related with any of four callbacks. This state can be assumed when the default constructor invoked and the Xlet instance has been created.

PAUSED
This state can be reached by one of following paths.
  1. The host middleware invoked initXlet() on the LOADED Xlet instance.
  2. The host middleware invoked pauseXlet() on the ACTIVE Xlet instance.
  3. The Xlet instance (which is ACTIVE) makes itself PAUSED and notifies manager via XletContext.notifyPaused().

ACTIVE
The host middleware invoked startXlet() on the PAUSED Xlet instance.

DESTROYED
This state is the last state every Xlet instances go.
  1. The host middleware invoked destroyXlet() on the Xlet instance.
  2. The Xlet instance (which is not DESTROYED yet) makes itself DESTROYED and notifies manager via XletContext.notifyDestroyed().

One of funky points is that the destroyXlet() method can be invoked from any other states.
Here comes what apidoc saids.
This method may be called from the LoadedPaused or Active states.
[TODO] jinahya.fsm.xlet link

Monday, January 18, 2010

jinahya.googlecode.com

'Jinahya', which is this blog's title, is also refers the project on googlecode.

Project's Address: http://jinahya.googlecode.com

Almost all projects are made with Apache Maven2.

Each project matches following information.

svn repo: http://jinahya.googlecode.com/svn/maven/2/proj/${groupId}/${artifactId}/${version}/
mvn site: http://jinahya.googlecode.com/svn/maven/2/site/${groupId}/${artifactId}/${version}/

And here comes the maven repository you can use.

mvn repo: http://jinahya.googlecode.com/svn/maven/2/repo

Tuesday, January 12, 2010

Using Java EE 6 API with Maven2

Using Java EE 5 API with Maven2