dependency:go-offline broken?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

dependency:go-offline broken?

Benedikt Ritter
Hi,

as far as I understand it should be possible to call mvn dependency:go-offline and from there on work in offline mode (mvn -o).  I’ve put a minimal example together [1] that demonstrates that this currently does not work. Am I missing anything?

Thank you!
Benedikt

[1] https://github.com/britter/dependency-plugin-bug


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

Reply | Threaded
Open this post in threaded view
|

Re: dependency:go-offline broken?

Brian Fox-2
On Mon, Sep 25, 2017 at 2:10 PM, Benedikt Ritter <[hidden email]> wrote:

> Hello Brian,
>
> > Am 20.09.2017 um 23:16 schrieb Brian Fox <[hidden email]>:
> >
> > It's been a really long time, but I recall that there were issues getting
> > the dependencies of plugins bound to the lifecycle. This looks to be the
> > same problem. I think the documentation talked about a way to do this
> > effectively.
>
> I’ve looked through the documentation of the dependency plugin, but I can
> not find anything about this. Do you recall where you found that
> documentation?
>
>
Ha no, since I wrote that goal 10 years ago I'm scratching the depth of my
memory. Maybe I just intended to describe it ;-)


> Regards,
> Benedikt
>
> >
> > On Wed, Sep 20, 2017 at 4:48 PM, Benedikt Ritter <[hidden email]>
> wrote:
> >
> >> Hi,
> >>
> >> as far as I understand it should be possible to call mvn
> >> dependency:go-offline and from there on work in offline mode (mvn -o).
> >> I’ve put a minimal example together [1] that demonstrates that this
> >> currently does not work. Am I missing anything?
> >>
> >> Thank you!
> >> Benedikt
> >>
> >> [1] https://github.com/britter/dependency-plugin-bug
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [hidden email]
> >> For additional commands, e-mail: [hidden email]
> >>
> >>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
Reply | Threaded
Open this post in threaded view
|

Re: dependency:go-offline broken?

Benedikt Ritter
Hello Alex,

> Am 01.10.2017 um 18:55 schrieb Alex O'Ree <[hidden email]>:
>
> This is what I use to get artifacts before dropping offline (it may or
> may not help your scenario)
>
> mvn dependency:resolve -Dclassifier=javadoc dependency:sources
> dependency:resolve-plugins -fn
>
> This gets sources, javadocs and plugins. This works in most cases,
> however if you're using ant to download stuff or any other cases
> where's there's declared dependencies that are only resolved by
> running a specific phase or plugin, then you'll have to figure those
> out, then put them in dependency management and the above should work

I gave this a try:

export MAVEN_OPTS=-Dmaven.repo.local=/path/to/my/project.m2

mvn dependency:resolve dependency:resolve-plugins
mvn -o findbugs:check

[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ tourenplanung-backend ---
[WARNING] The POM for org.apache.maven:maven-project:jar:2.0.6 is missing, no dependency information available
[WARNING] The POM for org.apache.maven:maven-core:jar:2.0.6 is missing, no dependency information available
[WARNING] The POM for org.apache.maven:maven-artifact:jar:2.0.6 is missing, no dependency information available
[WARNING] The POM for org.apache.maven:maven-settings:jar:2.0.6 is missing, no dependency information available
[WARNING] The POM for org.apache.maven:maven-model:jar:2.0.6 is missing, no dependency information available
[WARNING] The POM for org.apache.maven:maven-monitor:jar:2.0.6 is missing, no dependency information available
[WARNING] The POM for org.apache.maven.shared:maven-filtering:jar:1.1 is missing, no dependency information available
[WARNING] The POM for org.codehaus.plexus:plexus-interpolation:jar:1.13 is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.482 s
[INFO] Finished at: 2017-10-02T18:30:37+02:00
[INFO] Final Memory: 22M/309M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:2.6:resources (default-resources) on project my-project: Execution default-resources of goal org.apache.maven.plugins:maven-resources-plugin:2.6:resources failed: Plugin org.apache.maven.plugins:maven-resources-plugin:2.6 or one of its dependencies could not be resolved: Cannot access central (https://repo.maven.apache.org/maven2) in offline mode and the artifact classworlds:classworlds:jar:1.1-alpha-2 has not been downloaded from it before. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException

So this still doesn’t work…

Cheers,
Benedikt

>
>
> On Wed, Sep 27, 2017 at 5:59 PM, Brian Fox <[hidden email]> wrote:
>> No, I don't think it will work. What you really need is a repository
>> manager to cache things locally for you. That's the recommended solution
>> any time you feel like you're going to be downloading components more than
>> once...which is really in every instance.
>>
>> On Wed, Sep 27, 2017 at 7:53 AM, Benedikt Ritter <[hidden email]> wrote:
>>
>>> Hello Brain,
>>>
>>>> Am 26.09.2017 um 23:10 schrieb Brian Fox <[hidden email]>:
>>>>
>>>> On Mon, Sep 25, 2017 at 2:10 PM, Benedikt Ritter <[hidden email]>
>>> wrote:
>>>>
>>>>> Hello Brian,
>>>>>
>>>>>> Am 20.09.2017 um 23:16 schrieb Brian Fox <[hidden email]>:
>>>>>>
>>>>>> It's been a really long time, but I recall that there were issues
>>> getting
>>>>>> the dependencies of plugins bound to the lifecycle. This looks to be
>>> the
>>>>>> same problem. I think the documentation talked about a way to do this
>>>>>> effectively.
>>>>>
>>>>> I’ve looked through the documentation of the dependency plugin, but I
>>> can
>>>>> not find anything about this. Do you recall where you found that
>>>>> documentation?
>>>>>
>>>>>
>>>> Ha no, since I wrote that goal 10 years ago I'm scratching the depth of
>>> my
>>>> memory. Maybe I just intended to describe it ;-)
>>>
>>> Thank you for your response. Maybe I’ll just give a little more context
>>> about what I’m trying to achieve. Maybe I’m just doing the wrong thing:
>>>
>>> I have a CI Build in GitLab, where I want to define a job that downloads
>>> all the artifacts which are needed for the different lifecycle phases and
>>> plugin executions as well as all project dependencies. I only want to
>>> download all the stuff once and then copy the artifacts between the build
>>> stages. I thought this would be possible with dependency:go-offline so that
>>> later steps can be run with mvn -o.
>>> Am I missing something or is this simply not possible at the moment?
>>>
>>> Regards,
>>> Benedikt
>>>
>>>>
>>>>
>>>>> Regards,
>>>>> Benedikt
>>>>>
>>>>>>
>>>>>> On Wed, Sep 20, 2017 at 4:48 PM, Benedikt Ritter <[hidden email]>
>>>>> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> as far as I understand it should be possible to call mvn
>>>>>>> dependency:go-offline and from there on work in offline mode (mvn -o).
>>>>>>> I’ve put a minimal example together [1] that demonstrates that this
>>>>>>> currently does not work. Am I missing anything?
>>>>>>>
>>>>>>> Thank you!
>>>>>>> Benedikt
>>>>>>>
>>>>>>> [1] https://github.com/britter/dependency-plugin-bug
>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: [hidden email]
>>>>>>> For additional commands, e-mail: [hidden email]
>>>>>>>
>>>>>>>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: [hidden email]
>>>>> For additional commands, e-mail: [hidden email]
>>>>>
>>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [hidden email]
>>> For additional commands, e-mail: [hidden email]
>>>
>>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>


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

Reply | Threaded
Open this post in threaded view
|

Re: dependency:go-offline broken?

Hervé BOUTEMY
In reply to this post by Benedikt Ritter
Le dimanche 8 octobre 2017, 15:37:54 CEST Benedikt Ritter a écrit :

> Hello Hervé
>
> > Then I added a pluginManagement section to select version 3.0.2 and re-ran
> > the test: you'll see the output is completely different.
> >
> > And there is no issue any more
>
> Thank you so much, you took the time to investigate this issue! Really much
> appreciated. Now I wonder, why Maven uses an outdated version of the
> dependency plugin. Is this a problem with the super pom?
this is a choice to keep stability:
if one downloads dependencies using Maven 3.0.5 then a few days later builds
offline with Maven 3.5, he does not have any issue (and blame dependency-plugin)

remember the good practice: define your plugin versions, either in your pom or
by using a parent that does the job

>
> Furthermore I’ve noticed, that mvn -o test still does not work, because some
> surefire dependencies are missing:
>
> [ERROR] Failed to execute goal
> org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-test)
> on project dependency-plugin-bug: Unable to generate classpath:
> org.apache.maven.artifact.resolver.MultipleArtifactsNotFoundException:
> Missing: [ERROR] ----------
> [ERROR] 1) org.apache.maven.surefire:surefire-junit3:jar:2.12.4
> [ERROR]
> [ERROR] Try downloading the file manually from the project website.
> [ERROR]
> [ERROR] Then, install it using the command:
> [ERROR] mvn install:install-file -DgroupId=org.apache.maven.surefire
> -DartifactId=surefire-junit3 -Dversion=2.12.4 -Dpackaging=jar
> -Dfile=/path/to/file [ERROR]
> [ERROR] Alternatively, if you host your own repository you can deploy the
> file there: [ERROR] mvn deploy:deploy-file
> -DgroupId=org.apache.maven.surefire -DartifactId=surefire-junit3
> -Dversion=2.12.4 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url]
> -DrepositoryId=[id] [ERROR]
> [ERROR] Path to dependency:
> [ERROR] 1) dummy:dummy:jar:1.0
> [ERROR] 2) org.apache.maven.surefire:surefire-junit3:jar:2.12.4
> [ERROR]
> [ERROR] ----------
> [ERROR] 1 required artifact is missing.
> [ERROR]
> [ERROR] for artifact:
> [ERROR] dummy:dummy:jar:1.0
> [ERROR]
> [ERROR] from the specified remote repositories:
> [ERROR] central (https://repo.maven.apache.org/maven2, releases=true,
> snapshots=false) [ERROR] -> [Help 1]
> [ERROR]
> [ERROR] To see the full stack trace of the errors, re-run Maven with the -e
> switch. [ERROR] Re-run Maven using the -X switch to enable full debug
> logging. [ERROR]
> [ERROR] For more information about the errors and possible solutions, please
> read the following articles: [ERROR] [Help 1]
> http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
>
> Since there are only a few dependencies missing, I will run test not in
> offline modus on my CI server. But I wonder whether this is a bug.
I'll have a look at this one and report

Regards,

Hervé

>
> Regards,
> Benedikt
>
> > Regards,
> >
> > Hervé
> >
> > Le mercredi 20 septembre 2017, 22:48:15 CEST Benedikt Ritter a écrit :
> >> Hi,
> >>
> >> as far as I understand it should be possible to call mvn
> >> dependency:go-offline and from there on work in offline mode (mvn -o).
> >> I’ve put a minimal example together [1] that demonstrates that this
> >> currently does not work. Am I missing anything?
> >>
> >> Thank you!
> >> Benedikt
> >>
> >> [1] https://github.com/britter/dependency-plugin-bug
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [hidden email]
> >> For additional commands, e-mail: [hidden email]
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]



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

Reply | Threaded
Open this post in threaded view
|

Re: dependency:go-offline broken?

Benedikt Ritter
Hello,

> Am 13.10.2017 um 21:32 schrieb Tibor Digana <[hidden email]>:
>
> This exception is expected.
> Use pluginGroup in settings.xml or try this:
> org.codehaus.mojo:tidy:1.0.0:check
> or
> org.codehaus.mojo:tidy-maven-plugin:1.0.0:check
>
> I don't know what dummy.jar has to do with tidy plugin, it's internal code
> in surefire due to M2 API and tidy should not be influenced by.

There are to distinct issues:

1) surefire does some trickery which can not be resolved by the dependency plugin.
2) the tidy plugin does not work in offline mode, even if dependencies have been downloaded before. Why do I have to define the plugin explicitly to work in offline mode? It does work in online mode.

Regards,
Benedikt

>
> Cheers
> Tibor
>
> On Fri, Oct 13, 2017 at 6:36 PM, Benedikt Ritter <[hidden email]> wrote:
>
>> Hello,
>>
>>> Am 08.10.2017 um 15:54 schrieb Hervé BOUTEMY <[hidden email]>:
>>>
>>> Le dimanche 8 octobre 2017, 15:37:54 CEST Benedikt Ritter a écrit :
>>>> Hello Hervé
>>>>
>>>>> Then I added a pluginManagement section to select version 3.0.2 and
>> re-ran
>>>>> the test: you'll see the output is completely different.
>>>>>
>>>>> And there is no issue any more
>>>>
>>>> Thank you so much, you took the time to investigate this issue! Really
>> much
>>>> appreciated. Now I wonder, why Maven uses an outdated version of the
>>>> dependency plugin. Is this a problem with the super pom?
>>> this is a choice to keep stability:
>>> if one downloads dependencies using Maven 3.0.5 then a few days later
>> builds
>>> offline with Maven 3.5, he does not have any issue (and blame
>> dependency-plugin)
>>>
>>> remember the good practice: define your plugin versions, either in your
>> pom or
>>> by using a parent that does the job
>>>
>>>>
>>>> Furthermore I’ve noticed, that mvn -o test still does not work, because
>> some
>>>> surefire dependencies are missing:
>>>>
>>>> [ERROR] Failed to execute goal
>>>> org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test
>> (default-test)
>>>> on project dependency-plugin-bug: Unable to generate classpath:
>>>> org.apache.maven.artifact.resolver.MultipleArtifactsNotFoundException:
>>>> Missing: [ERROR] ----------
>>>> [ERROR] 1) org.apache.maven.surefire:surefire-junit3:jar:2.12.4
>>>> [ERROR]
>>>> [ERROR] Try downloading the file manually from the project website.
>>>> [ERROR]
>>>> [ERROR] Then, install it using the command:
>>>> [ERROR] mvn install:install-file -DgroupId=org.apache.maven.surefire
>>>> -DartifactId=surefire-junit3 -Dversion=2.12.4 -Dpackaging=jar
>>>> -Dfile=/path/to/file [ERROR]
>>>> [ERROR] Alternatively, if you host your own repository you can deploy
>> the
>>>> file there: [ERROR] mvn deploy:deploy-file
>>>> -DgroupId=org.apache.maven.surefire -DartifactId=surefire-junit3
>>>> -Dversion=2.12.4 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url]
>>>> -DrepositoryId=[id] [ERROR]
>>>> [ERROR] Path to dependency:
>>>> [ERROR] 1) dummy:dummy:jar:1.0
>>>> [ERROR] 2) org.apache.maven.surefire:surefire-junit3:jar:2.12.4
>>>> [ERROR]
>>>> [ERROR] ----------
>>>> [ERROR] 1 required artifact is missing.
>>>> [ERROR]
>>>> [ERROR] for artifact:
>>>> [ERROR] dummy:dummy:jar:1.0
>>>> [ERROR]
>>>> [ERROR] from the specified remote repositories:
>>>> [ERROR] central (https://repo.maven.apache.org/maven2, releases=true,
>>>> snapshots=false) [ERROR] -> [Help 1]
>>>> [ERROR]
>>>> [ERROR] To see the full stack trace of the errors, re-run Maven with
>> the -e
>>>> switch. [ERROR] Re-run Maven using the -X switch to enable full debug
>>>> logging. [ERROR]
>>>> [ERROR] For more information about the errors and possible solutions,
>> please
>>>> read the following articles: [ERROR] [Help 1]
>>>> http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
>>>>
>>>> Since there are only a few dependencies missing, I will run test not in
>>>> offline modus on my CI server. But I wonder whether this is a bug.
>>> I'll have a look at this one and report
>>
>> I made another interesting observation:
>>
>> mvn tidy:check works, while mvn -o tidy:check does not work. It fails with:
>>
>> [INFO] ------------------------------------------------------------
>> ------------
>> [INFO] BUILD FAILURE
>> [INFO] ------------------------------------------------------------
>> ------------
>> [INFO] Total time: 0.640 s
>> [INFO] Finished at: 2017-10-13T18:34:32+02:00
>> [INFO] Final Memory: 13M/309M
>> [INFO] ------------------------------------------------------------
>> ------------
>> [ERROR] No plugin found for prefix 'tidy' in the current project and in
>> the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available
>> from the repositories [local (/Users/bene/workspace/github/dependency-plugin-bug/.m2),
>> central (https://repo.maven.apache.org/maven2)] -> [Help 1]
>> [ERROR]
>> [ERROR] To see the full stack trace of the errors, re-run Maven with the
>> -e switch.
>> [ERROR] Re-run Maven using the -X switch to enable full debug logging.
>> [ERROR]
>> [ERROR] For more information about the errors and possible solutions,
>> please read the following articles:
>> [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/
>> NoPluginFoundForPrefixException
>>
>> Cheers,
>> Benedikt
>>
>>>
>>> Regards,
>>>
>>> Hervé
>>>
>>>>
>>>> Regards,
>>>> Benedikt
>>>>
>>>>> Regards,
>>>>>
>>>>> Hervé
>>>>>
>>>>> Le mercredi 20 septembre 2017, 22:48:15 CEST Benedikt Ritter a écrit :
>>>>>> Hi,
>>>>>>
>>>>>> as far as I understand it should be possible to call mvn
>>>>>> dependency:go-offline and from there on work in offline mode (mvn -o).
>>>>>> I’ve put a minimal example together [1] that demonstrates that this
>>>>>> currently does not work. Am I missing anything?
>>>>>>
>>>>>> Thank you!
>>>>>> Benedikt
>>>>>>
>>>>>> [1] https://github.com/britter/dependency-plugin-bug
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: [hidden email]
>>>>>> For additional commands, e-mail: [hidden email]
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: [hidden email]
>>>>> For additional commands, e-mail: [hidden email]
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [hidden email]
>>>> For additional commands, e-mail: [hidden email]
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [hidden email]
>>> For additional commands, e-mail: [hidden email]
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>
>>


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