mvn classworlds:uberjar

2008-12-10 Thread Paul Hammant
There was a conversion on this list in August that suggested jarjar,  
minijar  shade style of working.


Selenium needs to bundle Jetty in its server jar.  Jetty is  
notoriously hard to 'shade' given there are a gazillion fine grained  
issues around reflection and other dependancies like the servlet api  
(should that be shaded too ?).


The Uberjar way would preserve original class names, but hide them all  
from other things in the classpath.  Selenium server is booted from  
the command line via a main() method obviously - thus it is an ideal  
case for Uberjar


Did anyone quantify how much and in what way things were slower with  
Uberjar ?


Regards,

- Paul


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: mvn classworlds:uberjar

2008-12-10 Thread Paul Hammant

There's one-jar now as a replacement for uber-jar.

It looks much faster - I'm running with that.

Cheers,

- Paul

On Dec 10, 2008, at 1:49 PM, Jörg Schaible wrote:


Hi Paul,

Paul Hammant wrote:


There was a conversion on this list in August that suggested jarjar,
minijar  shade style of working.

Selenium needs to bundle Jetty in its server jar.  Jetty is
notoriously hard to 'shade' given there are a gazillion fine grained
issues around reflection and other dependancies like the servlet api
(should that be shaded too ?).

The Uberjar way would preserve original class names, but hide them  
all

from other things in the classpath.  Selenium server is booted from
the command line via a main() method obviously - thus it is an ideal
case for Uberjar

Did anyone quantify how much and in what way things were slower with
Uberjar ?


I had once a client connecting to a WLS and added the weblogic.jar  
to its
deps. I used the uberjar to have one fine single jar to start  
anything.
Well, after 45min the application actually was ready after startup.  
Without

the uberjar it took less then 30sec. Questions? ;-)

- Jörg


-
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]



Re: Configuring the surefire plugin - a question

2017-02-23 Thread Paul Hammant
Thanks João, thanks Robert.

I've taken Robert's snippet and expanded it a little to do what I want:

Diff:
https://github.com/paul-hammant/todobackend-jooby/commit/9626a3155eddbaea74bbf66a3e899b81227842ee
(repo: paul-hammant/todobackend-jooby* branch: expectations*)

I found that I had to be explicit about excludes too, and have a precursor
exclude that is outside of the three executions.

I did a bunch of trial and error, but this was the minima.

The test of correctness:

  $ mvn install | grep "Time elapsed"
  Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.237 sec
- in todobackend.TodoUnitTest
  Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.51 sec
- in todobackend.TodoIntegrationTest
  Tests run: 4, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 11.608
sec - in todobackend.TodoWebDriverTest
  (ignore some WebDriver noise to std-err)
I can't say I really understand the rules about additive includes and
excludes, but my job is to make speedy builds, not fully understand every
angle bracket of Maven.

Regards,

- Paul


On Fri, Feb 17, 2017 at 2:00 PM, Robert Scholte <rfscho...@apache.org>
wrote:

> When you only want to change the pom (not the tests), a set of
> executionblocks will do the trick:
>
>   
> org.apache.maven.plugins
> maven-surefire-plugin
> 2.18.1
> 
>   
> unit-tests
> 
> 
>   **/*Unit*.java
> 
> 
>   
>   
> functional-tests
> 
> 
>   **/*WebDriver*.java
> 
> 
>   
>   
> integration-tests
> 
> 
>   **/*Integration*.java
> 
> 
>   
> 
>   
>
>
> On Thu, 16 Feb 2017 11:22:37 +0100, João Cabrita <joao.r.cabr...@gmail.com>
> wrote:
>
> I'd say you could add executions to the surefire plugin with different
>> categories:
>> https://maven.apache.org/surefire/maven-surefire-plugin/
>> examples/junit.html#Using_JUnit_Categories
>>
>> Look at this gist (I've omitted some details):
>> https://gist.github.com/kewne/2b909ab5e8035a4e44e406fa35e3276c
>>
>> AFAIK, even if the executions are all bound to the same phase in the
>> lifecycle, they execute in the order specificied in the POM.
>> Beware this is the behavior I've observed and can't confirm it is
>> specified
>> behavior.
>>
>>
>>
>> João Cabrita
>>
>> On 16 February 2017 at 10:06, Paul Hammant <p...@hammant.org> wrote:
>>
>> Hi folks,.
>>>
>>> I've a fast WebDriver using build that I blogged about: A 16 Second Java
>>> Webapp Build (Including WebDriver Tests)
>>> <http://paulhammant.com/2017/02/05/a-16-second-java-webapp-
>>> build-including-webdriver-tests/>
>>> .
>>>
>>> Jooby (like SpringBoot and SparkJava) give new options for testing - it
>>> can
>>> be instantiated in a JUnit test. Everything can be done in Surefire now,
>>> and the Failsafe plugin isn't needed for these.  Don't believe me - watch
>>> the video in the blog entry above, it's not long.
>>>
>>> New problem. I want unit tests to run in this order:
>>>
>>> 1. unit
>>> 2. integration (may invoke service calls headlessly)
>>> 3. function (will use WebDriver)
>>>
>>>
>>> I can't work out what magic I have to do with executions to allow that to
>>> happen.
>>>
>>> Here is how far I got:
>>>
>>>
>>> https://github.com/paul-hammant/todobackend-jooby/blob/
>>> master/pom.xml#L74
>>>
>>> It is all a bit second class, because I'd have to do ...
>>>
>>> mvn clean test -Punit-tests
>>> mvn test -Pintegration-tests
>>> mvn test -Pfunctional-tests
>>>
>>> ... to simulate a pipeline, and I would be happy to just rely on
>>> annotations for classifications.
>>>
>>> I really want to do ...
>>>
>>> mvn clean test -DexecutionOrder=unit,integration,functional
>>> -DstopBuildAtExecutionBoundariesForTestFailures
>>>
>>>
>>> ... and shave seconds off the build.
>>>
>>> How do I configure that tersely and elegantly in the surefire plugin
>>> today?
>>>
>>
> -
> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> For additional commands, e-mail: users-h...@maven.apache.org
>
>


Re: Configuring the surefire plugin - a question

2017-02-24 Thread Paul Hammant
I tried many combinations but couldn't make it shorter with the same behavior :(
- ph ---
Just a small hint about the concept of includes/excludes.
A test is executed if and only if it matches any include (or all if there  
are no includes) AND doesn't match any exclude.

The problem I see is that by default you exclude every test (**/*). This  
implies that all includes are useless. By overriding the excludes per  
execution-block you kind of fixed that.

Robert

.





Configuring the surefire plugin - a question

2017-02-16 Thread Paul Hammant
Hi folks,.

I've a fast WebDriver using build that I blogged about: A 16 Second Java
Webapp Build (Including WebDriver Tests)
<http://paulhammant.com/2017/02/05/a-16-second-java-webapp-build-including-webdriver-tests/>
.

Jooby (like SpringBoot and SparkJava) give new options for testing - it can
be instantiated in a JUnit test. Everything can be done in Surefire now,
and the Failsafe plugin isn't needed for these.  Don't believe me - watch
the video in the blog entry above, it's not long.

New problem. I want unit tests to run in this order:

1. unit
2. integration (may invoke service calls headlessly)
3. function (will use WebDriver)


I can't work out what magic I have to do with executions to allow that to
happen.

Here is how far I got:


https://github.com/paul-hammant/todobackend-jooby/blob/master/pom.xml#L74

It is all a bit second class, because I'd have to do ...

mvn clean test -Punit-tests
mvn test -Pintegration-tests
mvn test -Pfunctional-tests

... to simulate a pipeline, and I would be happy to just rely on
annotations for classifications.

I really want to do ...

mvn clean test -DexecutionOrder=unit,integration,functional
-DstopBuildAtExecutionBoundariesForTestFailures


... and shave seconds off the build.

How do I configure that tersely and elegantly in the surefire plugin today?


Re: If anyone ever wanted to download a bunch of deps specified in a Maven POM for an Ant build

2017-06-12 Thread Paul Hammant
Looks good. My Google fu let me down!

On Mon, Jun 12, 2017 at 11:41 AM, Manfred Moser <manf...@simpligility.com>
wrote:

> Why not use the Maven Resolver (formerly Eclipse Aether) Ant Tasks?
>
> https://maven.apache.org/resolver-archives/resolver-ant-tasks-LATEST/
>
> Paul Hammant wrote on 2017-06-11 11:53:
>
> > If your 'current directory' is a Maven checkout, I have a Python script
> > that will download the dependencies into a libs/ folder. Well,
> > libs/compile/ libs/test/ etc - one subfolder per scope.
> >
> > See here:
> > https://github.com/paul-hammant/spring-jetty-
> integrationtest-ant-example/blob/master/mavdl.py
> >
> > I asked a question on Stackoverflow then answered it myself when my bash
> > skills fell short of a bash one-liner for the same: -
> > https://stackoverflow.com/questions/44390253
> >
> > In the case of my demo project 'spring-jetty-integrationtest-ant-example'
> I
> > checked all the jars into Git again, like it was still the early 2000's
> :)
> >
> > - Paul
> >
>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> For additional commands, e-mail: users-h...@maven.apache.org
>
>


Re: Producing java8 and java7 versions

2017-06-09 Thread Paul Hammant
Older releases tried to have a single jar that had adaptive bytecode
within, right Jörg

Specifically, class file formats 49, 50, 51 in one Jar.

- Paul

On Thu, Jun 8, 2017 at 2:06 PM, Jörg Schaible  wrote:

> Hi Chistopher,
>
> Christofer Dutz wrote:
>
> > Perhaps not adding any suffix to the version for the java8 version would
> > be ok and to add “java7” to the version for the legacy builds would be a
> > good compromise.
>
> That's what XStream has done with the last release.
>
> Cheers,
> Jörg
>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> For additional commands, e-mail: users-h...@maven.apache.org
>
>


If anyone ever wanted to download a bunch of deps specified in a Maven POM for an Ant build

2017-06-11 Thread Paul Hammant
If your 'current directory' is a Maven checkout, I have a Python script
that will download the dependencies into a libs/ folder. Well,
libs/compile/ libs/test/ etc - one subfolder per scope.

See here:
https://github.com/paul-hammant/spring-jetty-integrationtest-ant-example/blob/master/mavdl.py

I asked a question on Stackoverflow then answered it myself when my bash
skills fell short of a bash one-liner for the same: -
https://stackoverflow.com/questions/44390253

In the case of my demo project 'spring-jetty-integrationtest-ant-example' I
checked all the jars into Git again, like it was still the early 2000's :)

- Paul


Re: If anyone ever wanted to download a bunch of deps specified in a Maven POM for an Ant build

2017-06-11 Thread Paul Hammant
Copy/pasta - https://issues.apache.org/jira/browse/MDEP-570:

There's a three command sequence to download an Maven artifact and all its
transitive deps to a directory:

mvn dependency:get
-Dartifact=org.eclipse.jetty:jetty-servlets:9.4.5.v20170502
-Dtransitive=true
mvn dependency:copy-dependencies -f
~/.m2/repository/org/eclipse/jetty/jetty-servlets/9.4.5.v20170502/jetty-servlets-9.4.5.v20170502.pom
-DoutputDirectory=$(pwd)/foo/ -DincludeScope=compile
cp 
~/.m2/repository/org/eclipse/jetty/jetty-servlet/9.4.5.v20170502/jetty-servlet-9.4.5.v20170502.jar
foo/


- Paul

On Sun, Jun 11, 2017 at 3:30 PM, Thomas Broyer <t.bro...@gmail.com> wrote:

> Wouldn't have dependency:copy-dependencies helped here rather than
> sed/grep/wget? (maybe not, devil is in the details and I just skimmed
> through your script)
> https://maven.apache.org/plugins/maven-dependency-
> plugin/copy-dependencies-mojo.html
>
> Le dim. 11 juin 2017 20:53, Paul Hammant <p...@hammant.org> a écrit :
>
> > If your 'current directory' is a Maven checkout, I have a Python script
> > that will download the dependencies into a libs/ folder. Well,
> > libs/compile/ libs/test/ etc - one subfolder per scope.
> >
> > See here:
> >
> > https://github.com/paul-hammant/spring-jetty-
> integrationtest-ant-example/blob/master/mavdl.py
> >
> > I asked a question on Stackoverflow then answered it myself when my bash
> > skills fell short of a bash one-liner for the same: -
> > https://stackoverflow.com/questions/44390253
> >
> > In the case of my demo project 'spring-jetty-integrationtest-ant-example'
> I
> > checked all the jars into Git again, like it was still the early 2000's
> :)
> >
> > - Paul
> >
>


A google style monorepo in Git (With Maven as a the build system)

2017-10-05 Thread Paul Hammant
Writeup here: https://timkrueger.me/a-maven-git-monorepo/

Sure, Google's monorepo uses *Piper* (an unreleased Perforce-alike they
made in-house) not git, which can scale to 25,000 committers in a single
trunk (they have been doing trunk-based-development complete with a
PR-alike workflow since the mid 2000's).

They also use Blaze as a build system (partially released to OSS-land as
Blaze) which is a directed graph build system rather than a (depth-first)
recursive one like Maven.

Those two differences didn't stop Tim Krüger from taking is colleagues into
the mono-repo world with Git and Maven as factors, and implement the same
expand/contract capability that Google has.

- Paul

-- 
Paul Hammant DevOps <https://devops.paulhammant.com/> Let me give you a
step by step plan to get out of the hell of ClearCase and crazy branching
models and into the world of high-throughput CD on DevOps foundations.


Re: On upgrading Guava to the latest 23.5 getting NoSuchMethodError for Preconditions.checkArgument

2017-12-21 Thread Paul Hammant
What did "mvn dependency:tree" report before and after the change?


Alternate Maven dependency upgrade opportunities report

2018-07-27 Thread Paul Hammant
If Maven-central has some upgrades for one of your project's dependencies,
this little Python script can quickly* tell you.

https://github.com/paul-hammant/analyze-mvn-deps

Key feature:

In some cases, the script may suggest two or more alternate upgrade
suggestions. For example (as of July 27th), a Maven project depending on
the jar for Groovy v2.5.0 would see *three alternate suggested upgrades*:
3.0.0-alpha-3, 2.6.0-alpha-4, or 2.5.1.

* "quickly" may be minutes if the multi-module project is big enough.

-- 
Paul Hammant DevOps <https://devops.paulhammant.com> Let me give your
enterprise a step by step plan to migrate from GitFlow (or worse) to
high-throughput CD on the essential DevOps foundation: Trunk-Based
Development.


Re: - - SPAM - -AW: Alternate Maven dependency upgrade opportunities report

2018-07-27 Thread Paul Hammant
You're quite right. Documentation updated to reflect that.


Re: ConcurrentContinuous Delivery Maven Builds

2018-03-14 Thread Paul Hammant
Continuous Delivery is into QA / UAT, right?
Continuous Deployment is into Prod.

You need the jars in Artifactory because other teams depend on them?  If
not then just deploy to QA/UAT and don't drop jars (or anything) into
Nexus/Artifactory/WebDAV.

- Paul



On Wed, Mar 14, 2018 at 4:31 AM, Dan Tran <dant...@gmail.com> wrote:

> Hi
>
> I have a requirement to run concurrent maven continuous deliver style.
> Each new commit/PR triggers new pipeline with unique version.
>
> Since maven deployment also pushing maven-metadata.xml which can be
> corrupted for concurrent pipeplines
>
> I wonder if Artifactory or Nexus have some type of protection for this
> scenario?
>
> Thanks
>
> -Dan
>



-- 
Paul Hammant DevOps <https://devops.paulhammant.com> Let me give your
enterprise a step by step plan to get out of the hell of crazy branching
models (ClearCase maybe?) and into the world of high-throughput CD on
DevOps foundations.


Re: ConcurrentContinuous Delivery Maven Builds

2018-03-14 Thread Paul Hammant
Have a Jenkins job that runs at 10pm that picks up the *last green build*
of the day and re-does it (skipping tests this time) but goes on to push
the war file (or equiv) to the appropriate QA machines servers.

That builds ran in parallel earlier in the day, is not longer important.
Again, skip the pushing to Artifactory/Nexus for QA builds.

And that's CI not CD by the way (CD would be every commit into an env if
the build passes at the bleeding edge or every N builds through the day
from trunk/master).

- Paul

On Wed, Mar 14, 2018 at 5:44 PM, Dan Tran <dant...@gmail.com> wrote:

> @Paul yes the final build artifacts go to QA. I guess I can instrument
> Maven only deploy the necessary files.  But I still need to deploy full
> snapshot build once a day
>
> @Francois, for my case, it very very possible that 2 parallel pipelines
> pushing same artifact ( different versions) to maven repo and step on each
> other maven-metadata.xml files
>
> Thanks
>
> -D
>
> On Wed, Mar 14, 2018 at 2:14 PM, Francois MAROT <francois.ma...@gmail.com>
> wrote:
>
> > What do you mean by "pushing maven-metadata.xml which can be corrupted" ?
> > Are you talking about https://issues.apache.org/jira/browse/MDEPLOY-221
> > which is solved in Maven 3.5.2 (even 3.5.1 I think) ?
> >
> >
> >
> > --
> > Sent from: http://maven.40175.n5.nabble.com/Maven-Users-f40176.html
> >
> > -
> > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> > For additional commands, e-mail: users-h...@maven.apache.org
> >
> >
>



-- 
Paul Hammant DevOps <https://devops.paulhammant.com> Let me give your
enterprise a step by step plan to get out of the hell of crazy branching
models (ClearCase maybe?) and into the world of high-throughput CD on
DevOps foundations.


Re: Maven Installation Troubleshooting

2018-04-23 Thread Paul Hammant
Your screenshot didn't come through, Hanna.

Also, Windows 10 - right ?


Re: Not able to read jars in repo intermittently

2018-03-26 Thread Paul Hammant
What jars are you overwriting in your Maven repo?  The SNAPSHOT system
allows things to be written in at the same time as other jobs depending on
the previous version.

Is this a problem with SNAPSHOT jars or non SNAPSHOT jars?  It looks like
you're saying non SNAPSHOT:
org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
being your example. Why do you need to publish that more than once ever?

- Paul


Re: [SUSPICIOUS] Re: Running integration tests twice against different webapp configurations

2018-10-13 Thread Paul Hammant
You're explicitly calling stop() on both Jetty instances ... (pass or fail)
and not just letting it fall through to the Shutdown hook which is static ?


On Sat, Oct 13, 2018 at 1:31 AM Ellis, Scott 
wrote:

> Thank you Thomas! The parallel solution worked  or me. And thanks for the
> other replies too.
>
> For the record, the second jetty instance must use the run-forked goal,
> because  the ShutdownMonitor thread in jetty is declared static. A design
> flaw in my opinion. Trying to run a second jetty instance in the same vm
> fails with error "ShutdownMonitor already started,"  even with a different
> key and port.
>
> Thanks,
> Scott
>
> -Original Message-
> From: Thomas Broyer [mailto:t.bro...@gmail.com]
> Sent: Friday, October 12, 2018 2:34 AM
> To: Maven Users List 
> Subject: [SUSPICIOUS] Re: Running integration tests twice against
> different webapp configurations
>
> Alternatively, if possible, you could possibly run the app with both
> configurations in parallel (two executions of jetty-maven-plugin in
> pre-integration-test and post-integration-test phase, using different
> ports), and run you tests twice, for each app / port (two executions of
> failsafe at integration-test phase)
>
> On Fri, Oct 12, 2018 at 8:44 AM Anders Hammar  wrote:
>
> > I'd say you need two modules; one for each IT setup. Each module is a
> > Maven project and will then run the integration tests. The actual
> > integration test code could then be in a third module and you declare
> > a dependency on that artifact.
> >
> > /Anders
> >
> > On Thu, Oct 11, 2018 at 11:21 PM Ellis, Scott
> >  > >
> > wrote:
> >
> > > Hi,
> > >
> > > I have a project that builds a webapp and runs integration tests
> > > against it using the failsafe plugin and the jetty-maven-plugin.
> > >
> > > That is, I use the jetty-maven-plugin to start jetty in the
> > > pre-integration-test phase, run the tests, then shut jetty down in
> > > the post-integration-test phase.
> > >
> > > Now, my web app can have an entirely different configuration in
> > > addition to the existing one, so I need to start jetty with a new
> > > config and run a new suite of tests, while maintaining all the
> existing functionality.
> > >
> > > So what I really want to do it run these phases twice:
> > >
> > > pre-integration-test
> > > integration-test
> > > post-integration-test
> > >
> > > First I want to run them with the my webapp configured the old way,
> > > and then run the same phases again with my webapp configured the new
> way.
> > >
> > > Any advice on how to do this? The configurations can be set with
> > > system properties. The problem is how to run those phases twice in
> that order.
> > >
> > > Thanks for any insight you can offer, Scott
> > >
> >
>


Re: Running integration tests twice against different webapp configurations

2018-10-12 Thread Paul Hammant
There's Cuppa which is super cool and allows to control such things to a
very fine level.

https://github.com/cuppa-framework/cuppa/

It is not clear that Cuppa has multi-year life though. I wish it did.

On Thu, Oct 11, 2018 at 10:21 PM Ellis, Scott 
wrote:

> Hi,
>
> I have a project that builds a webapp and runs integration tests against
> it using the failsafe plugin and the jetty-maven-plugin.
>
> That is, I use the jetty-maven-plugin to start jetty in the
> pre-integration-test phase, run the tests, then shut jetty down in the
> post-integration-test phase.
>
> Now, my web app can have an entirely different configuration in addition
> to the existing one, so I need to start jetty with a new config and run a
> new suite of tests, while maintaining all the existing functionality.
>
> So what I really want to do it run these phases twice:
>
> pre-integration-test
> integration-test
> post-integration-test
>
> First I want to run them with the my webapp configured the old way, and
> then run the same phases again with my webapp configured the new way.
>
> Any advice on how to do this? The configurations can be set with system
> properties. The problem is how to run those phases twice in that order.
>
> Thanks for any insight you can offer,
> Scott
>


Re: Kotlin for your pom

2019-04-04 Thread Paul Hammant
I might do a blog entry on it, making the same points with an example :)

Maven moves slowly but things like this are key to its future :)
Apart from anything else 


 
 
 


... has to die, ASAP, because grep/ag/ack is pretty much useless for
searching recursively.


On Thu, Apr 4, 2019 at 6:38 AM Manfred Moser 
wrote:

> Supposedly IntelliJ Idea has good support for Kotlin DSL usage already.
> There is an experimental support feature for Eclipse that used to work for
> some dialects, but I have not tried it recently.
>
> I am not sure about other dialects or IDEs to be honest.
>
> If you find out anything while playing around, I would love to update the
> docs with a PR from you ;-)
>
> Manfred
>
> Oliver B. Fischer wrote on 2019-03-30 08:59:
>
> > Hi Manfred,
> >
> > do you know far Polyglot Maven is already supported by the various IDE?
> >
> > Bye,
> >
> > Oliver
> >
> > Am 30.03.19 um 05:50 schrieb Manfred Moser:
> >> Hi all,
> >>
> >> Just a quick heads up that the new polyglot-maven release I cut recently
> >> features a MUCH improved support for Kotlin. So with the help of
> >> polyglot-maven you can write your pom in yaml, ruby, scala, kotlin and
> a bunch
> >> of other formats now.
> >>
> >> Check it out and send us any feedback ...
> >>
> >> https://www.simpligility.com/2019/03/kotlin-for-polyglot-maven/
> >>
> >> https://github.com/takari/polyglot-maven
> >>
> >> Manfred
> >>
> >>
> >>
> >>
> >>
> >>
> >> -
> >> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> >> For additional commands, e-mail: users-h...@maven.apache.org
> >>
> >
> > --
> > N Oliver B. Fischer
> > A Schönhauser Allee 64, 10437 Berlin, Deutschland/Germany
> > P +49 30 44793251
> > M +49 178 7903538
> > E o.b.fisc...@swe-blog.net
> > S oliver.b.fischer
> > J oliver.b.fisc...@jabber.org
> > X http://xing.to/obf
> >
> >
>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> For additional commands, e-mail: users-h...@maven.apache.org
>
>


Re: Publish Artifact with test

2019-12-17 Thread Paul Hammant
Following what Anders said: This is because some folks may use your
intended testing tech in a production capacity.

I co-created Selenium (a functional testing tool), and plenty of people use
it from scraping live websites/webapps for various good (also nefarious)
reasions. Specifically: not for testing at all.


Quicker local maven builds article

2019-10-20 Thread Paul Hammant
https://www.reddit.com/r/Maven/comments/dklz1e/quicker_local_maven_builds/

^ A small script to help you have quicker Maven invocations for changes in
your (Git) checkout on your dev workstation.

Also, a reminder that there is a sub-reddit for Maven now -
https://www.reddit.com/r/Maven/

- Paul


Re: Quicker local maven builds article

2019-10-22 Thread Paul Hammant
First time I met Jason was at a Codehaus party in Amsterdam in 2003. I miss
that portal.

Maven's XML is too element normal for my liking.  Attributes where
appropruate would be good. Also deps and GAVs needs a shakeup, IMO:


  
 com.thoughtworks.xstream:xsteam:1.4.3
  
  
org.junit:junit:4.12
org.seleniumhq.selenium:selenium-java:3.14159
  

Not being able to grep for specific GAVs is a critical flaw.

So I've played with Takari and I like it. I'm able to make super fast
builds without it though. The time-pit is all categories of integration
test. That Maven's recursion fu is slower than Gradles isn't where time is
lost for most *corporate* builds.

- Paul


Re: Quicker local maven builds article

2019-10-22 Thread Paul Hammant
Thanks for the links and words of encouragement, gents. I'll update the
blog entry accordingly.

I'm not a Maven committer (though i am an ASF member). I harang the
committers on rotating topics over the years, and at some point they'll
implement something similar to this if they want to. I love open source
where the 'upstream' team has a policy of patch consumption if they can't
state strong reasons for not doing so. And that's not Apache's policy.

Python3 proves to be a good prototyping tool. Maven's way is plugins, and
my creation/publish elapsed time would be 10x greater that way as I'd have
to learn it first. I think I'm faster with Java solutions than Python ones
generally, but not when I'm close to Bash. I could have done this in Bash,
but it'd have been six hours to make to this level of polish instead of the
three that it was.

Perfect world for me would be:

mvn -f buildThis.txt

Where buildThis.txt was:

  compile:
 foo, bar
  test:
 foo, bar, baz

That'd allow one invocation of Java, rather than two as I have it.

On the Maven sub-reddit, we've 40 new subscribers now as of this post :) I
love Reddit because of threading, in the same way I loved NNTP 20 years ago.