<?xml version="1.0" encoding="iso-8859-1"?>



<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  xmlns:admin="http://webns.net/mvcb/"
  xmlns:cc="http://web.resource.org/cc/"
  xmlns="http://purl.org/rss/1.0/">

<channel rdf:about="http://blogs.codehaus.org/people/mkleint/">
<title>mkleint</title>
<link>http://blogs.codehaus.org/people/mkleint/</link>
<description><![CDATA[mkleint - mostly about maven and netbeans
<script type="text/javascript" 
src="http://technorati.com/embed/gwqgxhtnr.js"></script>
<script type="text/javascript" src="http://www.ohloh.net/accounts/1531/widgets/account_detailed"></script>
<a href="http://www.linkedin.com/in/mkleint" ><img src="http://www.linkedin.com/img/webpromo/btn_viewmy_160x33.gif" width="160" height="33" border="0" alt="View Milos Kleint's profile on LinkedIn"></a>]]></description>
<dc:language>en-us</dc:language>
<dc:creator></dc:creator>
<dc:date>2008-05-28T12:18:32+00:00</dc:date>
<admin:generatorAgent rdf:resource="http://www.movabletype.org/?v=2.661" />


<items>
<rdf:Seq><rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001704_maven_pom_inheritance_view.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001679_writing_groovy_maven_plugins_in_netbeans.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001675_netbeans_included_in_new_mandriva_20081_.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001673_remote_maven_repositories_at_your_fingertips.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001672_i18n_hyperlinking_for_netbeans_modules.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001639_maven_11_support_now_also_for_upcoming_netbeans_60.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001614_does_this_make_a_useful_feature.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001611_comparing_projects_the_ohloh_way.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001603_spice_up_netbeans_ant_projects_with_maven.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001452_qqq_questionable_quiz_question.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001436_mevenide_testimonials_anyone.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001426_mevenide2_hotfix_release_for_nb_55.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001423_one_year_birthday_of_mevenide2.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001368_hyperlinks_in_maven_poms.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001367_yet_another_way_of_working_with_gwt_in_netbeans.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001352_whats_new_netbeans_maven2_integration.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001341_dont_create_just_open.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001330_diagrams_for_everyone_ii.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001323_diagrams_for_everyone.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001322_maven2_repository_containing_netbeans_apis_up_and_running.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001262_mevenide_at_javapolis_2005.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001139_preview_of_updates_in_netbeans_maven_support.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001050_popupfactory_gotchas.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001048_daily_routine_at_netbeans_prague_office.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001027_mavens_hidden_dragon.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001024_maven_unused_features.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/001019_tutorial_on_creating_netbeans_modules_with_mevenide.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/mkleint/archives/000862_those_ui_design_dilemmas.html" />
</rdf:Seq>
</items>

</channel>

<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001704_maven_pom_inheritance_view.html">
<title>Maven POM inheritance view</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001704_maven_pom_inheritance_view.html</link>
<description><![CDATA[<p>There's a new update of Maven support (version 3.1.2) on NetBeans stable update center since yesterday. You are encouraged to upgrade as it fixes a few critical issues found in the integration and the Maven embedder that is used. One pom.xml editing enhancement is added.</p>

<p>When editing your pom.xml file, you get the regular xml file navigation panel. That one is provided for any xml file. it shows you the structure of the currently edited xml file in a tree.<img src="http://www.codehaus.org/~mkleint/xmlview.png"/></p>

<p>The newly added navigator panel will show you the inheritance of your current pom file. That means the artifactId + version of the current file, it's parent POM's artifactId + version and so on, all the way back to the root company or project POM. it will also denote if the parent is accessible in the sources or is being retrieved from the repository. That happens when your project is using an already released version of the parent pom and is not depending on the current version in the sources or when the source is not accessible for some other reason. The editable parent POMs can be quickly opened by double clicking on the node.<br />
<img src="http://www.codehaus.org/~mkleint/POMinheritanceview.png"/></p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2008-05-28T12:18:32+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001679_writing_groovy_maven_plugins_in_netbeans.html">
<title>Writing Groovy Maven plugins in NetBeans</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001679_writing_groovy_maven_plugins_in_netbeans.html</link>
<description><![CDATA[<p>When updating the <a href="http://mojo.codehaus.org">mojo.codehaus.org</a> svn repository, I noticed there's a new maven plugin in the sandbox with a cool name: "IANAL Maven Plugin" . I've opened the project in NetBeans to see what the plugin does. However the plugin seems to be written in <a href="http://mojo.codehaus.org/groovy/">Groovy</a>, not Java. So I installed the latest <a href="http://martin.adamek.sk/?p=13">Groovy support</a> in NetBeans from the update center. To get the right editor colorings and everything. And also to figure if it works with Maven based projects. It  worked. Sort of. I got a few red underlines meaning the classpath was not right. An email exchange with the Groovy support devs confirmed my own thoughts that the problem is in the fact that groovy sources are in src/main/groovy folder in Maven projects and this folder is missing on project's sourcepath. So I <a href="http://fisheye.codehaus.org/changelog/mevenide/?cs=5200">added</a> it.<br />
The results is here <a href="http://codehaus.org/~mkleint/groovy-maven.png"> <img src="http://codehaus.org/~mkleint/groovy-maven-thumb.png"/></a>. No red lines in the editor, ready for coding. There's still room for improvement though. Ideally the Groovy sources would appear in a separate Source node under the project's node. Please note that it will only work in the upcoming 3.1 version of Maven support. Coming soon.</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2008-04-25T10:26:31+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001675_netbeans_included_in_new_mandriva_20081_.html">
<title>NetBeans included in new Mandriva 2008.1 </title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001675_netbeans_included_in_new_mandriva_20081_.html</link>
<description><![CDATA[<p>I've just finished installing the new Powerpack of <a href="http://mandriva.com/en/product/mandriva-linux-powerpack">Mandriva 2008.1 Spring</a> linux distribution. When I browsed the available software I discovered this little gem. </p>

<p><img src="http://codehaus.org/~mkleint/mandriva-netbeans.png"/></p>

<p>I couldn't resist installing it even though it's only 6.0 and as a NetBeans IDE developer I'm using the latest daily builds mostly. For my daily work as least, sometimes I need to test on older versions though.</p>

<p>Maven also comes prepackaged but it was even older. 2.0.4 I think, I'll rather stick to the latest 2.0.9 release.</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2008-04-18T09:54:56+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001673_remote_maven_repositories_at_your_fingertips.html">
<title>Remote Maven repositories at your fingertips</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001673_remote_maven_repositories_at_your_fingertips.html</link>
<description><![CDATA[<p>It's great to see that many public Maven2 remote repositories are providing the index of the repository now. I've just figured <a href="http://download.terracotta.org/maven2/">Terracotta.org</a> has used the the <a href="http://docs.codehaus.org/display/M2ECLIPSE/Nexus+Indexer">Nexus command line tool</a> to create such index. Of course I have my own selfish reasons to be happy about it. </p>

<p>The 3.1 (coming soon) version of <a href="http://mevenide.codehaus.org/m2-site">Maven integration for NetBeans</a> is using these indexes to greatly enhance the user experience within the IDE.  Let's preview some of the places that benefit from the indexing data.</p>

<p>First we need to add the Terracotta.org repository to the list of known repositories.<br />
<img src="http://codehaus.org/~mkleint/addresository.png"/><br />
That's done in the  Maven Repositories top level window. You can open it from Windows menu.</p>

<p>To verify we added the correct thing, let's expand the root node of the new repository and see what content we have there.<br />
<img src="http://codehaus.org/~mkleint/browserepository.png"/><br />
You can easily drill down from groupIds to artifactIds to versions. There you can immediately add the artifact to your projects or (if the metadata is present) view project website, file a bug or checkout the sources.</p>

<p>Browsing is cool but it gets boring after a while. The true integration puts the metadata from the index right at your fingertips when you need it.</p>

<p>For example when creating a new project from archetype<br />
<img src="http://codehaus.org/~mkleint/createarchetype.png"/></p>

<p>or in the editor for your poject's POM file when you need to check what dependencies or maven plugins are available and in what versions.<br />
<img src="http://codehaus.org/~mkleint/completion.png"/></p>

<p>The new 3.1 version of Mevenide is not 100% ready for release, however if you want to test drive the beta quality code, it's fairly easy to setup. Download the <a href="http://deadlock.netbeans.org/hudson/job/mevenide/lastSuccessfulBuild/artifact/mevenide-AU-SNAPSHOT.zip">latest NBM binaries</a> from the NetBeans.org <a href="http://deadlock.netbeans.org/hudson/job/mevenide">continuous integration machine</a> and install them through the Tools/Plugins dialog. And while you are in testing mode, you should check it in the <a href="http://download.netbeans.org/netbeans/6.1/beta/">NetBeans 6.1 Beta build </a></p>

<p>Enjoy</p>

<p>Milos<br />
</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2008-04-08T19:41:04+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001672_i18n_hyperlinking_for_netbeans_modules.html">
<title>I18N hyperlinking for NetBeans modules</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001672_i18n_hyperlinking_for_netbeans_modules.html</link>
<description><![CDATA[<p>It's a good practice to have your code internationalized. The coding pattern for doing so in NetBeans modules is following:</p>

<pre>
org.openide.util.NbBundle.getMessage(FindResultsPanel.class, "FindResultsPanel.btnModify.text")
</pre>

<p>Here the FindResultsPanel is the class where the text is used, The Bundle.properties file resides in the same package as the class and the getMessage method makes sure it loads properly in an efficient manner. If you are coding a NetBeans module, you should avoid calling <code>java.util.ResourceBundle
</code>
 directly.</p>

<p>However it's been always a pain to edit the text. First you ned to find the I18N token, then find and open the relevant Bundle.properties file and then find the line with the I18N token. The pain has become unbearable for me and I created a simple module that's capable of "hyperlinking" to the correct location in the correct resource bundle file directly from the java source file. <br />
<img src="http://codehaus.org/~mkleint/hyperlink.png"><br />
The hyperlink is invoked by pressing Ctrl while pointing to the I18N string. If you wait a bit, a tooltip shows with the actual message text from bundle file.</p>

<p>The module NBM file can be downloaded from <a href="http://codehaus.org/~mkleint/apisupport-editor-3.1-SNAPSHOT.nbm">here</a>.<br />
Works in Netbeans module projects only (both Ant and Maven based)<br />
It will eventually make it either into the <a href="http://mevenide.codehaus.org/m2-site">Maven support</a> or the NetBeans <a href="http://apisupport.netbeans.org/"> module development modules</a></p>

<p>Enjoy.<br />
</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2008-03-31T08:36:28+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001639_maven_11_support_now_also_for_upcoming_netbeans_60.html">
<title>Maven 1.1 support now also for upcoming NetBeans 6.0</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001639_maven_11_support_now_also_for_upcoming_netbeans_60.html</link>
<description><![CDATA[<p>Eric Hartmann of the <a href="http://mevenide.codehaus.org">Mevenide team</a> announced</a> yesterday that a <a href="http://archive.mevenide.codehaus.org/user/3e8ca1b70711252336k79793297gacc98a098fea2079%40mail.gmail.com">new version of Maven 1.1 support</a> in NetBeans was just released. This is a maintainance release that allows people to migrate from NetBeans 5.5 to 6.0 if they still work with Maven 1.x.  Of course everyone can use both Maven 1.x  and Maven 2.x support (that's the one available on the default Update Center) at the same time.</p>

<p>Good job, Eric!</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2007-11-26T20:41:21+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001614_does_this_make_a_useful_feature.html">
<title>Does this make a useful feature?</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001614_does_this_make_a_useful_feature.html</link>
<description><![CDATA[<p>Got any idea for a new feature today that sounds cool and useful now but I'm not sure if it's really so, please advise.</p>

<p>A bit of background:<br />
The upcoming <a href="http://bits.netbeans.org/netbeans/6_0/milestones/latest/">NetBeans 6.0</a> has file templates based on <a href="http://freemarker.org/">FreeMarker</a> template engine. Most templates include license header. Each project can specify the license it's using and new files created in that project include the correct license then. For Apache Ant based projects, the magic property is "project.license=foo" in nbproject/project.properties file where "foo" is the name of the license template in Tools/Templates dialog. <br />
For Maven projects I'm looking for "netbeans.hint.license" property in the pom.xml file. As a nifty easter egg, if you happen to be using Apache 2.0 license and have the "licences.license.url" xml element filled in correctly with "http://www.apache.org/licenses/LICENSE-2.0.txt" value you get the correct header automatically. (Note: If you are using some other OSS license and want that feature as well, send me the url and header content and I'll add it to the list of licenses that ship with Maven support)</p>

<p>Now we are getting close to my today's idea. The <a href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache license</a> header includes the copyright notice, eg. Copyright [yyyy] [name of copyright owner]. Right now the name of copyright owner is replaced by the username in the resulting new file, however it would be nice if one could specify something more fancy. Like ${pom.organization.name} which would extract the data directly from the pom. With this syntax the Maven project type could make the whole POM available for new file templating. But I'm wondering if that's actually useful. What part of the POM can be used for templating? Please comment.</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2007-09-05T20:27:30+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001611_comparing_projects_the_ohloh_way.html">
<title>Comparing projects the Ohloh way</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001611_comparing_projects_the_ohloh_way.html</link>
<description><![CDATA[<p>I've fallen in love in <a href="http://www.ohloh.net">Ohloh</a>. Not only makes it a cool "<a href="http://www.ohloh.net/accounts/1531"> coding experience</a>" bullet in your resume, but also gives you interesting information about projects. Like the <a href="http://www.ohloh.net/projects/3517/analyses/latest/contributors">most active contributors</a>, <a href="http://www.ohloh.net/projects/3499/analyses/latest">individual file licenses</a> or <a href="http://www.ohloh.net/accounts/1531/stacks/default/accounts">people with similar software stacks</a> to yours.</p>

<p>Just lately I've found out a new, cool feature was added. You can compare projects in terms of codebase. Obviously it doesn't make sense for any 2 random projects but sometimes it reveals interesting information. Like this Ant vs. Maven2 <a href="http://www.ohloh.net/projects/compare?metric=Codebase&project_0=Apache+Ant&project_1=Maven+2">duel</a>.<br />
It shows (at least to me, please comment) that each tool is in different phase of development. In terms of codebase, activity and number of contributors as well. I'm not sure if the 200+ vs.140+ stack counts reflect a real world usage share though. We'll probably see more reliable results once the number of people joining the site grows.<br />
Too bad one cannot compare Netbeans and Eclipse codebase the same way. The different philosophy behind the projects is reflected even here at ohloh. While <a href="http://www.ohloh.net/projects/3517?p=NetBeans+IDE">NetBeans</a> has one entry, <a href="http://www.ohloh.net/projects/search?q=eclipse&x=0&y=0">Eclipse</a> is split into many ohloh project definitions.</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2007-08-29T20:04:32+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001603_spice_up_netbeans_ant_projects_with_maven.html">
<title>Spice up NetBeans Ant projects with Maven</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001603_spice_up_netbeans_ant_projects_with_maven.html</link>
<description><![CDATA[<p>I've been asked many times about using Maven dependency management within NetBeans' ant projects. I've usually just simply pointed to the <a href="http://maven.apache.org/ant-tasks.html">Maven Ant tasks</a> page. As a result of recent email conversation I had, I've actually tried to setup a sample project myself. <br />
With help of this <a href="http://wiki.netbeans.org/wiki/view/FaqIvy">NetBeans wiki page on Ivy</a> it turned out to be fairly simple indeed. And while I was at it, I've added a <a href="http://wiki.netbeans.org/wiki/view/FaqMavenAntTasks">new FAQ page</a> to NetBeans wiki. It's a step-by-step tutorial with sample project attached. Enjoy!</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2007-07-19T08:47:46+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001452_qqq_questionable_quiz_question.html">
<title>QQQ: Questionable Quiz Question</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001452_qqq_questionable_quiz_question.html</link>
<description><![CDATA[<p>The <a href="http://www.netbeans.org/competition/bday-quiz/contributed-quiz.html">NetBeans community quit</a> has been <a href="http://blogs.sun.com/seapegasus/entry/and_another_quiz">announced.</a> Question number 4 caught my eyes. <b>Which big change was made in the project build process from NetBeans 3.6 to later versions?</b> Mevenide is one of the answers there. You might first go for the obvious one - "it switched to Ant".<br />
But consider this: We've done 4 releases between 3.6 and 4.0. (<a href="http://blogs.codehaus.org/archives/000792_mevenide_netbeans_01_released.html">0.1</a> in July 2004, <a href="http://blogs.codehaus.org/archives/000816_mevenide_netbeans_02_released.html">0.2</a> in August, <a href="http://blogs.codehaus.org/archives/000845_mevenide_03_for_netbeans_40_beta2.html">0.3</a> in October and <a href="http://blogs.codehaus.org/archives/000897_mevenide_for_netbeans_04.html">0.4</a> in November 2004).  In 4.0 the NetBeans project system became free. And Mevenide is the proof of that. Isn't that the biggest change in 4.0?</p>

<p>Don't vote for t-shirt, vote for the truth! Choose 4C.</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2006-11-23T20:14:10+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001436_mevenide_testimonials_anyone.html">
<title>mevenide testimonials anyone?</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001436_mevenide_testimonials_anyone.html</link>
<description><![CDATA[<p>Have you ever used the <a href="http://mevenide.codehaus.org/m2-site">Maven 2 support</a> for <a href="http://www.netbeans.org">NetBeans IDE</a>?<br />
Do you have something to say about it and don't mind being quoted on the project's website? <br />
Then please send me your comments to "mkleint at codehaus dot org" and I'll add it to the "to-be-created" testimonals page. </p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2006-11-13T14:35:10+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001426_mevenide2_hotfix_release_for_nb_55.html">
<title>Mevenide2: hotfix release for Nb 5.5</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001426_mevenide2_hotfix_release_for_nb_55.html</link>
<description><![CDATA[<p>Traditionally, a few serious bugs made it into the mevenide release from last week. <br />
Also traditionally, a hotfix release ready and up on the update site.</p>

<p><a href="http://jira.codehaus.org/browse/MEVENIDE-465">MEVENIDE-465</a>  	 activating profile on build execution has no effect   	 <br />
<a href="http://jira.codehaus.org/browse/MEVENIDE-452">MEVENIDE-452</a> 	java.lang.AbstractMethodError: org.codehaus.mevenide.netbeans.j2ee.ejb.EjbJarImpl.getMetadataUnit() 	<br />
<a href="http://jira.codehaus.org/browse/MEVENIDE-463">MEVENIDE-463</a> 	Run & Debug outruns build<br />
<a href="http://jira.codehaus.org/browse/MEVENIDE-467">MEVENIDE-467</a> 	remove any webservices related templates, as they don't work<br />
<a href="http://jira.codehaus.org/browse/MEVENIDE-466">MEVENIDE-466</a> 	NPE in HyperlinkProviderImpl</p>

<p>Code completion in POM or profiles.xml files is limited in 5.5 due to this Netbeans bug - <a href="http://www.netbeans.org/issues/show_bug.cgi?id=87177">87177</a></p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2006-11-02T20:54:53+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001423_one_year_birthday_of_mevenide2.html">
<title>One year birthday of Mevenide2</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001423_one_year_birthday_of_mevenide2.html</link>
<description><![CDATA[<p>Everyone seems to celebrating birthdays nowadays. <a href="http://www.netbeans.org/community/articles/birthday.html">Netbeans</a>, <a href="http://www.eclipse.org/org/press-release/20061025cb_eclipsebirthday5.php">Eclipse</a>, <a href="http://jroller.com/page/eu?entry=mylar_has_turned_one">Mylar</a>, so why not <a href="http://mevenide.codehaus.org/m2-site">Mevenide</a>? </p>

<p>Everyone is counting differently, so I decided to go by first commit. And <a href="http://fisheye.codehaus.org/changelog/mevenide/trunk/mevenide2?cs=3508">here</a> it is. Turns out I missed the birthday by 2 days. But anyway, after one year, 500 commits, 50k of sources and 4 releases, check out for yourself where we are <a href="http://mevenide.codehaus.org/m2-site/">now</a>. </p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2006-11-01T09:33:29+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001368_hyperlinks_in_maven_poms.html">
<title>Hyperlinks in Maven POMs</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001368_hyperlinks_in_maven_poms.html</link>
<description><![CDATA[<p>The Maven POM file contains a lot of useful information but it's not always ready at hand. While browsing some pom.xml file and copy-pasting the url contained there, I  thought there must be a better way. Why not have the URLs hyperlinked? I knew Netbeans has APIs for hyperlinking documents, took me a bit of tweaking and looking into other people's code (the netbeans.org cvs repository proved handy here. Thank you Struts support.) and here is the result.<br />
<br><br />
<img src="http://www.codehaus.org/~mkleint/hyperlink-1.png"/><br />
Pressing Ctrl with a cursor over http/https url, shows a hyperlink which opens a new browser window or tab with the specified url.<br />
<br><br />
<img src="http://www.codehaus.org/~mkleint/hyperlink-2.png"/><br />
The modules section of the pom can also turned into hyperlinks. Triggering that one causes the module's pom to be opened in the editor.<br />
<br><br />
<img src="http://www.codehaus.org/~mkleint/hyperlink-3.png"/><br />
And it actually works also with plugin configurations as well. Opened the file referenced from the pom.<br />
<br><br />
Any other places where hyperlinks could be useful in the POM?</p>

<p>PS: the features above will appear in the next version of <a href="http://docs.codehaus.org/display/MEVENIDE/MevenideNetbeans2.0">mevenide2 for netbeans</a>.</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2006-06-26T07:05:09+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001367_yet_another_way_of_working_with_gwt_in_netbeans.html">
<title>Yet another way of working with GWT in Netbeans</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001367_yet_another_way_of_working_with_gwt_in_netbeans.html</link>
<description><![CDATA[<p>A few days ago, articles on use of GWT within Netbeans appeared on <a href="http://www.planetnetbeans.org">planetnetbeans.org</a>. That reminded me of an <a href="http://www.onjava.com/lpt/a/6611">article</a> by Robert Cooper on ONJava.com site I have read 2 weeks ago. Robert shows how to work with  the Google Web Toolkit using Maven. (Maven1 to be exact) So after installing the Maven support from <a href="http://mevenide.codehaus.org/download.html">Mevenide</a> into Netbeans and installing Robert's GWT Maven plugin, one should be able to easily build, run  and debug your GWT application as well.</p>

<p><a href="http://blogs.sun.com/roller/page/xzajo?entry=netbeans_met_gwt_and_more">Here</a> and <a href="http://blogs.sun.com/roller/page/roumen?entry=netbeans_and_gwt">here</a> are the blog entries from planetnetbeans.org</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2006-06-16T12:24:13+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001352_whats_new_netbeans_maven2_integration.html">
<title>What&apos;s new Netbeans Maven2 integration?</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001352_whats_new_netbeans_maven2_integration.html</link>
<description><![CDATA[<p>After re-reading the official <a href="http://blogs.codehaus.org/archives/001351_mevenide_maven2_netbeans_release_21.html">release announcement</a> I figured I forgot to include what's new in this version. Additionally I can go in more detail here than in the release info.<br />
<ul><br />
<li>The biggest change since 2.0.1 is probably under the hood. The maven embedder was rewritten and building with mevenide is now exactly the same as on the command line. Gone are the problems with multiproject builds etc. Thanks goes to Jason for the rewrite.<br />
<li>The eyecandy is probably the graph of project dependencies. Transitive dependencies and easy to discover, each scope (runtime/provider/compile/test) has it's own color, the initial automatic layout is not ideal but good enough, additionally allowing you to relayout and save the changes. For screenshots see my <a href="http://blogs.codehaus.org/people/mkleint/archives/001330_diagrams_for_everyone_ii.html">previous blog entry</a><br />
<li>The project loading got optimized, now it's faster and more reliable. It never downloads it's dependencies up front. (Obviously it needs to for building, but you don't want to download dependencies of 40 projects on IDE start)<br />
<li>It's possible now to execute arbitrary goals on projects and IDE action have some default mappings. Technically it's possible to map the right goals to you "Build project" or "Run project" actions, but for now there is no UI for customizing this behaviour. To be done for next release I guess.<br />
<li>You can customize some of the maven2 user settings in the Tools/Options dialog now.<br />
<li>And of course many bugs were fixed. But of course there can and probably are more. If you find some, please file them in the <a href="http://jira.codehaus.org/browse/MEVENIDE">bug tracking system</a>.<br />
</ul></p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2006-04-21T10:40:09+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001341_dont_create_just_open.html">
<title>Don&apos;t create, just open</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001341_dont_create_just_open.html</link>
<description><![CDATA[<p>It's interesting how easy is for a cool feature to become a usability problem. <br />
For both <a href="http://mevenide.codehaus.org/mevenide-netbeans-project/features.html">Maven1</a> and <a href="http://docs.codehaus.org/display/MEVENIDE/MevenideNetbeans2.0">Maven2</a> integrations for Netbeans, the Maven's POM file (<a href="http://maven.apache.org/what-is-maven.html">project object model</a>) is the ultimate source of project related information in the IDE. A nice demoable side-effect of it is that you don't need to create a netbeans project or somehow import and setup the IDE. The project will be recoginized and opened. Done. Start working. And that's for any Maven project out there.</p>

<p> And there lies the usability problem apparently. I get questions quite frequently about how to setup the IDE and that there's no "Create Maven project with existing sources" item in the Create project wizard. I can definitely see the logic here. There's a "Create Project with existing Ant script" in the UI. If you have an existing Ant based project with custom build.xml, then the IDE needs some additional information about your dependencies, source roots etc. But for Maven there is basically everything included in the POM. </p>

<p>But I'm quite seriously considering to add an entry "Create maven project with existing POM" wizard, just to fullfill the expectations of the users and not to give the bad first impression. But isn't that cheating to just open the project then?</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2006-03-20T14:51:49+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001330_diagrams_for_everyone_ii.html">
<title>Diagrams for Everyone II</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001330_diagrams_for_everyone_ii.html</link>
<description><![CDATA[<p>Last week I <a href="http://blogs.codehaus.org/people/mkleint/archives/001323_diagrams_for_everyone.html">discovered</a> the <a href="http://graph.netbeans.org">netbeans graph library</a>. It seems quite flexible so far. For mevenide2 I managed to create a nice <a href="http://www.codehaus.org/~mkleint/graphing2.png">transitive dependencies graph.</a> </p>

<p>Things I had to do:</p>

<p>I have changed the node renderer to visually distinguish different scopes (compile/test/runtime/..).</p>

<p>I've overriden the link renderer to draw thick lines from the project's artifact. That way it should be more obvious what are the direct dependencies.</p>

<p>When a node is selected by user, it's dependencies are also selected. Again a nice visual indication of interdependencies, plus helps when moving nodes around.</p>

<p>I've implemented my own graph node layouter, because the default didn't scale for big numbers of dependencies and was a bit chaotic for projects with interdependent dependencies. The current one attempts to cluster the related dependencies together. As can be seen in the <a href="http://www.codehaus.org/~mkleint/graphing2.png">picture</a>, the netbeans deps are separated from the maven dependencies visually.</p>

<p>Implementing layout persistece is supported by the graph library, so when you relayout the graph, it's not lost the next time you open it..</p>

<p>All and together, quite good results for the few hours I spent on the feature. The hardest part was coming up with the layouting algorithm.</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2006-02-20T08:24:16+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001323_diagrams_for_everyone.html">
<title>Diagrams for everyone</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001323_diagrams_for_everyone.html</link>
<description><![CDATA[<p>Even though I'm not a J2ME developer, I've always liked the screenshots of Netbeans Mobile Edition. They have these <a href="http://www.netbeans.org/images/screenshots/mobility/5.0/mp50-splashscreen.png">cool looking diagrams everywhere</a>. Yesterday I've figured their library for diagram creation is <a href="http://graph.netbeans.org/">free to use for everyone</a>. After a day of hacking I have some cool looking diagram in the <a href="http://docs.codehaus.org/display/MEVENIDE/MevenideNetbeans2.0">Maven2 support</a> as well. For starters I've implemented diagram for displaying the <a href="http://www.codehaus.org/~mkleint/modulegraph.png">module structure of a Maven2 multiproject</a>. Works quite well, but obviously I'm not good at creating graphics :) Now I have to start thinking about other places in Mevenide that could make use of some diagrams. Any ideas?</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2006-02-12T11:47:42+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001322_maven2_repository_containing_netbeans_apis_up_and_running.html">
<title>Maven2 repository containing Netbeans APIs up and running</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001322_maven2_repository_containing_netbeans_apis_up_and_running.html</link>
<description><![CDATA[<p>For those creating netbeans modules using Maven (most probably with the <a href="http://mevenide.codehaus.org/m2-site/maven-nbm-plugin">maven-nbm-plugin</a>) the biggest problem always was to populate the local repository with Netbeans API modules. Not anymore, thanks to Charlie Hunt (Nb Evangelist) who provided the webspace, I managed to setup a remote repository for these artifacts. Here it is:<br />
<a href="http://208.44.201.216:18080/maven/">http://208.44.201.216:18080/maven/</a>. Not only does it host the artifacts, but also declares dependencies in the poms (you get transitivity in dependencies) and for some APIs it even contains javadoc artifacts. </p>

<p>With the <a href="http://docs.codehaus.org/display/MEVENIDE/MevenideNetbeans2.0">IDE integration</a>, you get the docs at your fingertips then.</p>

<p>Adding it to your pom is <a href="http://fisheye.codehaus.org/viewrep/mevenide/mevenide2/netbeans/pom.xml?r1=1.11&r2=1.10">simple</a>.</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2006-02-07T18:28:05+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001262_mevenide_at_javapolis_2005.html">
<title>Mevenide at Javapolis 2005</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001262_mevenide_at_javapolis_2005.html</link>
<description><![CDATA[<p>I'll be showing the <a href="http://mevenide.codehaus.org/mevenide-netbeans-project">Maven integration</a> in the Netbeans IDE live at Javapolis 2005 <a href="http://www.javapolis.com/confluence/pages/viewpage.action?pageId=15036">Plugin Bazaar</a>.  Both the Maven1 support (now almost feature complete) and Maven2 (quite fresh, first version to be released soon) will be on display. <br />
Be sure to come to see the integration in action, to learn what Maven is and how it could make your development easier, to tell me what would be cool to have in Mevenide or just to say hi.</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2005-12-05T07:33:41+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001139_preview_of_updates_in_netbeans_maven_support.html">
<title>preview of updates in netbeans maven support.</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001139_preview_of_updates_in_netbeans_maven_support.html</link>
<description><![CDATA[<p>A new release of Mevenide for Netbeans is almost out of the door (new version 0.8 to be released in one or two weeks time). There's a few new features included in the maven project visual representation, a picture is worth 1000 words here. </p>

<p><img alt="Mevenide for Netbeans 0.8 screenshot" src="http://www.codehaus.org/~mkleint/newfeatureson08.png"></p>

<p>Every Maven project got a new subnode that lists all the dependencies of the given project. It visually shows the type of dependency, if it's present locally, if it's overriden.<br />
You can view what other versions are available in the remote and local repositories, you can edit the dependencies, download the artifacts, check if javadoc and/or sources are available for dependencies etc.<br />
Another added subnode is the Project files one, which gives shortcut access to all the project files of a maven project, no matter where these are physically present.</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2005-07-31T17:13:16+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001050_popupfactory_gotchas.html">
<title>PopupFactory gotchas</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001050_popupfactory_gotchas.html</link>
<description><![CDATA[<p>I've spent some time figuring this out, hopefully will save time of people reading this. <br />
PopupFactory creates instances of Popup that one can show/hide in their Swing application. Quick and easy, the <a href="http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/Popup.html">Popup javadoc</a> suggests it can cache the popups etc. Great! And it actually worked pretty well on my MacOSX. However when I tried the same piece of code on Linux, it didn't repaint. I showed the popup, but never repainted the content, was more a picture or screenshow than a live component. Well, that was quite troubling because the popup component consisted of multiple progress bars. (As part of my daily work at <a href="http://www.netbeans.org">Netbeans</a>, I'm currently working on the <a href="http://ui.netbeans.org/docs/ui/progress_indication/progress_indication_spec.html#pop_up_window_solution">Progress Indication component</a>)</p>

<p>After endless hours and hints from coworkers, I figured that the problem was cause by a <b>visible glasspane</b> which was painting the wait cursor. Funny enough the visibility of the wait cursor correlates with the visibility of the progress bar in my case.  Ensuring the glasspane stays invisible is hard to achieve. And it did work on Mac. The reason for that is that Apple's JDK enforces heavyweight popup. Oh, I didn't tell you that yet. <br />
There are internally 3 kinds of popups, lightweight, mediumweight and heavyweight. On Linux I was consistently getting mediumweight popup, while on Mac the heavy version.<br />
So how to force a heavyweight popup? The answer is non-obvious, I figured by looking at the code. In <a href="http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/PopupFactory.html">PopupFactory's createPopup()</a> method don't specify the owner parameter. Passing null will magically create a heavyweight popup and everything starts working.</p>

<p>Hope that helps.</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2005-04-21T08:00:10+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001048_daily_routine_at_netbeans_prague_office.html">
<title>Daily routine at Netbeans Prague office</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001048_daily_routine_at_netbeans_prague_office.html</link>
<description><![CDATA[<p>Check out the <a href="http://blogs.sun.com/roller/page/roumen/20050414#who_stole_my_bottle">epic saga</a> of a lost PET bottle at Prague Sun site. (or was it stolen/abducted ?)</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2005-04-16T19:54:45+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001027_mavens_hidden_dragon.html">
<title>Maven&apos;s Hidden Dragon</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001027_mavens_hidden_dragon.html</link>
<description><![CDATA[<p>A few days ago, I was <a href="http://blogs.codehaus.org/people/mkleint/archives/001024_maven_unused_features.html">blogging</a> about features that are part of Maven and it's javadoc plugin but are not used. Today I figured that the javadoc plugin has more suprises in the sleeves. It includes features that don't seem to be described anywhere on the <a href="http://maven.apache.org/reference/plugins/javadoc/index.html">maven-javadoc-plugin</a> site. </p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2005-04-03T21:10:16+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001024_maven_unused_features.html">
<title>Maven: Unused features</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001024_maven_unused_features.html</link>
<description><![CDATA[<p>While Maven provides a lot of features in various plugins, some of them seem not to be used at all. One example I've encountered lately is javadoc:upload. If you try  to <a href="http://www.google.com/search?hl=en&q=%2Bsite%3Aibiblio.org+javadoc+maven&btnG=Google+Search">google ibiblio.org's repository</a> for javadocs uploaded, you won't find *any*. Well, there a 2 or 3 examples of javadocs but these were not uploaded using the javadoc:upload goal apparently because they are in the wrong place. </p>

<p>Why do I write about it? Since <a href="http://mevenide.codehaus.org/mevenide-netbeans-project/">Mevenide</a> 0.3 (Netbeans version) I've looked up javadocs for project's dependencies in the local repository and made them available to the project. The IDE then can enhance the code completion for the classes of that dependency. Version 0.6 now allows to check the remote repository for the javadocs and downloads them if available. (<a href="http://mevenide.codehaus.org/mevenide-netbeans-project/images/screenshots/projectprops2.png">Screenshot here </a>) Unfortunately I've written the feature without consulting Google first.</p>

<p>Makes me wonder how many other Maven features end up being unused. Is it because there was no real benefit in uploading them or is the whole repository upload workflow not streamlined enough? Or even flawed?</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2005-04-01T08:25:00+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/001019_tutorial_on_creating_netbeans_modules_with_mevenide.html">
<title>Tutorial on creating Netbeans modules with Mevenide</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/001019_tutorial_on_creating_netbeans_modules_with_mevenide.html</link>
<description><![CDATA[<p>I've written a <a href="http://docs.codehaus.org/display/MEVENIDE/NetbeansModulesUsingMevenide">short tutorial</a> on  creating Netbeans modules (plugins) using Maven and Mevenide. After the initial steps of installing Maven and <a href="http://mevenide.codehaus.org/mevenide-netbeans-project">Mevenide</a>, the only trouble is declaring the correct dependencies (I would argue that's a general issue in software development). Building the module and it's NBM file is handled by the <a href="http://mevenide.codehaus.org/maven-nbm-plugin">maven-nbm-plugin</a>.</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2005-03-25T20:20:19+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/mkleint/archives/000862_those_ui_design_dilemmas.html">
<title>Those UI design dilemmas</title>
<link>http://blogs.codehaus.org/people/mkleint/archives/000862_those_ui_design_dilemmas.html</link>
<description><![CDATA[<p>Working on mevenide (integration of Maven and popular IDEs) for Netbeans is full of UI decisions that have major influence on the usability of the product. (well, just like in any app :)</p>

<p>1. complexity vs. simplicity<br />
How to let the users customize the project? Maven pros have different workflow from the newcomers. The UI support should scale. Exposing all the plugins' properties at once (and there's a *lot* of them) to a user who just wants to build his/her first hello world application is a no-no. So a real simple basic setup is a must, with some basic project templates that work out of the box. At the other end of the scale, allowing to edit the the pom file and all the properties files with appropriate help like completion etc satisfies the demanding users. However what about the average? Coding and designing UI for the average seems to be the hardest task. I haven't really figured that one yet.</p>

<p>2. general vs. specific<br />
The current default Netbeans 4.0 project types are all based on ant. However there's a whole bunch and every one of them is a bit different from the rest. So one has a project type for J2SE apps, web application project type, so called free-form which lets one map existing custom ant scripts into the IDE. With these specific project types one can have targeted UI and workflow for the tasks at hand.<br />
Given the nature of Maven and the limited resources at mevenide, it was decided (by me :) to go ahead with "one project type to bind them all". How will that work? I'm not really sure. The user can basically use *any* maven plugin to build their artifact. And what about deployment, debugging etc. Webapps are debugged differently from a Swing app. And the IDE offers different tools for it as well.</p>

<p>3. Maven vs. Netbeans<br />
This dilemma is best described with an example. Maven doesn't allow to build single file. I can understand why. But then again, Netbeans has this nice action in the popup menu - Compile File. For maven projects it's disabled because it's not implemented. From the user's perspective it looks unfinished or even broken. There's more cases like that: compilation executes tests, which is perfectly ok from maven point of view, but doesn't really match the user experience from other Netbeans project types. What to do here? I tend to be a maven purist "what maven does, is correct for the project type in the IDE as well", but I might just be blindfolded.</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>mkleint</dc:creator>
<dc:date>2004-10-15T13:38:53+00:00</dc:date>
</item>


</rdf:RDF>
