I read the blog entry and still confused about why we should not be using profiles. Perhaps I am just being dumb.

As for our particular case, maven and resource filtering actually has been very helpful to us. We have multiple locations where development happens, each location has its own setup of database/message queue and other external resources application needs. With the help of resource filtering, we are able to set right options in the configuration files so that developers don't step on each other shoes. Each one gets his own "namespace" as far external resources are concerned. Every developer is required to execute the complete test suite in their own environment before pushing their changes.

There are couple profiles we use during hudson builds - one meant for CI, almost same as developer's profile, does run destructive unit tests on DB - same tests developers are required to run. Other for actually creating the build, which "skips" the unit tests and does a build with proper properties so that build can work on QA servers and not destroy the data QA team has built.

As far as I can see its just properties file and values get replaced in maven way. Except for QA build, same unit tests get executed, only difference being names/locations of external resources changed based on profile. Only "hack" I can think of is bit of dependency injection that sets db name slightly differently during unit tests. The reason behind this is developers not loosing the "working" data when the destructive units tests run. But again, its transparent to application and application just works with the interface, concrete implementation changes based on whether its running as part of main app or as unit test.

Am I missing something?

Regards,

Niranjan

On 12/21/2012 12:32 PM, Stephen Connolly wrote:
http://developer-blog.cloudbees.com/2012/11/maven-profiles-and-maven-way.html

Please don't do maven the way you are doing it

On Friday, 21 December 2012, Niranjan Rao wrote:

Greetings,

We have bunch of profiles and corresponding resource filtering which all
works great. One frequent problem that we encounter team members often
forget to add new values in profile/filter property file of other profiles
than the one they are currently using. Naturally results are disastrous.
  Normally we can find quickly which property is not filtered correctly and
fix it but this is tedious.

I am wondering if there is any way to catch missing properties at build
time. That is when maven sees a property definition during filtering phase
which has variable declaration and could not locate the value, can it raise
the error and let the build fail?

Thanks,

Niranjan

------------------------------**------------------------------**---------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to