Maven, Eclipse and OSGi

It has been a long time since last entry, lots of things happened
since, I’ll try to post more often… promise!

What I’m working on right now is OSGi and Maven integration. Goal:
to generate automatically OSGi compliant jars from Maven projects and
vice versa, and make the Maven Repository also a OSGi bundle
repository.

You can take a look at the Maven
repository that contains Eclipse OSGi bundles
, with poms
generated from the manifest information and the Felix
Maven bundle plugin
that I’m improving to make everything more
automated and better integrated.

Maven at The Spring Experience

I wasn’t at The
Spring Experience
, but reading other people’s weblogs I decided
to put here some extracts from the conference about Maven.

Here are some quotes:

Ben just did a survey of the room asking who’s using Ant vs. Maven.
Surprisingly, Ant only slightly beats Maven.

Matt Raible in [TSE]
Hop into Real Object Oriented (ROO) with Ben Alex

Jetty is your friend! It allows you to rapidly deploy, it’s
resilient to hot deploy, starts everything in about 2 seconds and
integrates with everything.
Maven is your other friend. It allows you to kick-start a web project
very easily. It also has Jetty integration that allows you to hot
deploy. The Jetty plugin also detects changes and redeploys
automatically. It even creates project files for IDEA and Eclipse.
Now Rob is doing a Maven QuickStart demo. He’s using the
maven-archetype-webapp to create a web application with Maven. He then
added the Jetty Plugin and showed how it’s easy to get started. For
those of you that aren’t aware, there’s also a Tomcat Maven Plugin
that allows you to use Tomcat instead of Jetty. There’s also a debate
ensuing on whether Cargo should have this functionality or whether
these plugins are better. I’m currently leaning towards the plugins
since their easier to setup and configure (and they work too!).
[…]

To debug from your IDE is generally pretty easy. If you setup your
IDE to debug a “Remote Application”, it’ll tell you the
parameters you need to start that application with. For example, to
debug the Maven
Jetty Plugin in IDEA, create a new Remote Application in IDEA (Run ->
Edit Configurations -> Add -> Remote) and then copy the command
line arguments (listed below as well) into your MAVEN_OPTS
environment variable.

-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
After doing this, you should be able to restart Jetty and
set breakpoints in your IDE.

Matt Raible in [TSE]
Rapid Web Application Development with Rob Harrop

I went to Matt’s talk on AppFuse. I agree with him moving to Maven
2
. Matt also posses a very high EQ. It was good seeing Matt
again. It seems Maven
2
snuck its way into several talks not just Matt’s

[…]

My favorite
comment was from one guy who said he preferred the 50,000 line
AppFuse 1 Ant script to the direction in Appfuse 2 with Maven
with its small XML file. Hey buddy! Have another beer! Perhaps you
should not speak your mind while drinking (or writing blogs on
limited sleep).

Rick Hightower in Random
thoughts about my Spring Experience and Predictions for 2007

Using Selenium and Maven

There were some questions
in the mailing list
and Matt
Raible blog
about using Selenium
with Maven 2.

These are the available solutions:

Hopefully the two plugins will merge and we have better Selenium
support

Maven 1 central repository moved

If you are still using Maven 1 you may have found that the repository is not working and Maven is unable to download new dependencies. The reason is that the ibiblio guys have moved the repo to another machine and Maven 1.0.x can’t handle redirects across different host names.

The workaround is to use the mirror configuration until ibiblio fixes the problem. Add to yor project.properties

maven.repo.remote=http://mirrors.ibiblio.org/pub/mirrors/maven

Although you should probably be using Maven 2 😉

Update! If you want to point to the main repo you should use the following, although it’s always a good idea to use a mirror

maven.repo.remote=http://repo1.maven.org/maven

Open source adoption in the enterprise webminar

If you are interested in open source adoption in the enterprise or you happen to have the usual open source rejection in your company, this may be interesting for you and/or your boss, and it’s free (like in free beer).

The Simula Labs Webinar
Series:
Roadmap
for Open Source Adoption
New Date Added

Due to the popularity of our first session, we’ve added a second date!

If you’re evaluating where and how open source technologies can fit into your enterprise IT organization, please join us for Simula Labs’ “Roadmap for Open Source Adoption” seminar.

The online seminar will cover topics such as:

  • Open source readiness criteria for
    enterprise IT adoption
  • Best practices for enterprise IT, including acceptance
    requirements and pitfalls to avoid with any open source technology
    acquisition
  •  Description of the OSS development model and an
    exploration of how enterprise IT organizations can exploit more than
    just open source projects

Join us for “Roadmap for Open Source
Adoption” and learn about how to effectively evaluate, implement and manage open source solutions for your IT challenges.

Regards,

Doug Dennington

Director, Sales
Simula Labs
310 437 4870
[email protected]

 
Date:
Wednesday,
December 6,
2006

Time:
1:00p.m. (Pacific U.S.)

Presenter:
David Schwartz
General Manager
Mergere
Inc.

– a Simula Labs
CoRE Network Partner

Simula Labs

Simula Labs is poised as the only company
with a proven, scalable business model designed to enable IT
organizations to rapidly and predictably extract value from open source
during the software development process.

For more information on how Simula
Labs can help you bring the innovation of open source to your
organization, visit www.simulalabs.com or call 310 437
4870.

Copyright
� 2006 Simula Labs. All rights Reserved. Simula Labs, Simula Labs’ CoRE
Network and the Simula Labs and CoRE Network logos are trademarks of
Simula Labs. Other trademarks are the property of their respective
owners.

My American accent

I took this quizz for accent, seems that I have a Northeast American accent. Well, I’m from the North of Spaing but from the West, does that count? 😉

What American accent do you have?

Your Result: The Northeast

Judging by how you talk you are probably from north Jersey, New York City, Connecticut or Rhode Island.  Chances are, if you are from New York City (and not those other places) people would probably be able to tell if they actually heard you speak.

What American accent do you have?
Take More Quizzes

I’ve added some more photos from my last trip to Paris and the “Dia de los Muertos” (Day of the Dead) in Santa Ana, CA

Tour EiffelLes InvalidesMusee d'OrsayDia de los Muertos

Proxying and hosting a Maven repo

A common question is how can I proxy a Maven repo in my company so all developers don’t need to go out to the internet to download the same thing over and over, and having a place to put the internal private artifacts.

The answer is easier than ever. Use Archiva, it has a proxy, webdav accessible repository, search, reports,… It hasn’t been released in Apache yet but you can get a built version by downloading Mergere Maestro (don’t worry it’s open source).

You just need to add in your ~/.m2/settings.xml

<mirrors>
  <mirror>
    <url>http://localhost:8080/archiva/proxy</url&gt;
    <id>myhost.com</id>
    <name>Archiva Repository</name>
    <mirrorof >*</mirrorof>
  </mirror>
</mirrors>

Today’s picture from my Paris trip, the pyramid of Le Louvre (a scar on the face of Paris as some people say 😉 ), more pictures in flickr.

Le Louvre

Acegi Security 1.0.2 released

Acegi Security 1.0.2 is out, Ben was kind enough to push this
one. Good news for Maven 2 users is that Acegi can be built now with
Maven 2, ensuring that the poms in the repository are right.

From the announcement:

This release is mostly a bug fix release. Existing users can
upgrade with a simple JAR drop, although please first review the
upgrade note at SEC-340.

Some community members have inquired regarding our release roadmap:

  • We will continue to support Spring 1.2.x stream users in the
    Acegi Security 1.0.x release series. Whilst no new features will be
    added, any reported bugs will be corrected and backported to
    1.0.x.
  • New features will be incorporated into Acegi Security 1.1.0,
    which we are aiming to release prior to The Spring Experience in
    December 2006. Acegi Security 1.1.0 will also be renamed to Spring
    Security at this time, and it will require Spring 2.0 to leverage
    namespace capabilities.

Please visit the detailed changelog.

The project’s web site at http://acegisecurity.org
provides additional information on Acegi Security’s features, access to
online documentation, and links to download the latest release.

See you in Munich or Paris

I’ll be in Munich 25-30 september enjoying the Oktoberfest, later in Paris 30 september – 8 october, so if you are around and you are a reader of this blog I’d like to meet you, yes, you 😉 Other stops are London Stansted Airport (something worth to see around in a few hours?) and Salzburg (Austria). Any advice is appreciated :D.

After that I’ll head to Spain (Madrid and Coru�a) for some weeks.

The black magic inside Maven

It’s always interesting to see what your work looks from the outside, from the view of that people that you don’t know, not biased from your relationship.

I was reading  Sylvain Wallez Spring switching to Maven entry, where he exposes that Maven is too much black magic for him and prefers Ant. I think there’s a common basic mistake in his explanation, and I have already seen it in other places. If you are already an Ant user, of course it will look crystal clear after the years you have spent learning it, your opinion is also biased (not that I’m saying my opinion is not biased, that of course it is).

When talking about Ant you should also think about that first time user, that junior developer that haven’t left the IDE, and tell him that it’s easier to use Ant than Maven.