brief-engineer-67497
11/16/2018, 10:02 AMpants-plugin
python
foo
targets
foo_library.py
tasks
foo_gen.py
register.py
scala
foo-cli
Foo.scala
BUILD
In foo_gen.py
, there is
cls.register_jvm_tool(register, 'foo-cli',
classpath=[
JarDependency(org='bar',
name='foo-cli',
rev='0.0.1-SNAPSHOT'),
],
classpath_spec='//pants-plugins/scala/foo-cli'
)
and in scala/foo-cli/BUILD
java_library(
sources = rglobs('*.scala'),
dependencies = [
'3rdparty/jvm/some/dependency'
],
provides = artifact(org='bar',
name='foo-cli',
repo=snapshots)
)
When I run my task I still get a ClassNotFoundException
from my third party dependency. (I'm sure that foo-cli
is correctly published with a pom listing the 3rd party dependencies and that the foo-cli jar used is fetched from the nexus repository).
Do you see how to fix this ?enough-analyst-54434
11/16/2018, 12:57 PMjava_library
, but jar_library
or nothing. I think if you left classpath_spec
out and accepted the default things would work.brief-engineer-67497
11/16/2018, 1:09 PMbrief-engineer-67497
11/16/2018, 1:10 PMjar_library(
name= 'foo-cli',
jars = [
jar(
org='bar',
name='foo-cli,
rev='0.0.1-SNAPSHOT'
),
],
)
and to use it in the classpath_spec but still does not workbrief-engineer-67497
11/16/2018, 1:13 PMregister_jvm_tool
call, using -ldebug
I can see that the classpath used points to .pants.d/bootstrap/bootstrap-jvm-tools/tool_cache/shaded_jars/bar.foo-cli.blabla-ShadedToolFingerprintStrategy_e2ba67beff2a.jar
brief-engineer-67497
11/16/2018, 1:14 PMcompile_classpath/pants-plugins.scala.foo-cli.txt
that list the compile_classpath but I still have the ClassNotFoundExceptionbrief-engineer-67497
11/16/2018, 1:18 PMenough-analyst-54434
11/16/2018, 1:35 PM.../bar.foo-cli.blabla-ShadedToolFingerprintStrategy_e2ba67beff2a.jar
- the "Shaded" is referring to the fact the registering a jvm tool with a main will attempt to automatically shade all elements of the tool's classpath except for the main class. You may need to un-shade portions to get things working. Just a sec for an example...enough-analyst-54434
11/16/2018, 1:36 PMenough-analyst-54434
11/16/2018, 1:38 PMbrief-engineer-67497
11/16/2018, 1:46 PMbrief-engineer-67497
11/16/2018, 2:16 PMpants-plugins/scala/foo-cli/BUILD
to
java_library(
name='cli',
sources = rglobs('*.scala'),
dependencies = [
'dependencies'
],
provides = artifact(org='bar',
name='foo-cli',
repo=snapshots)
)
target(
name = 'dependencies',
dependencies = [
'3rdparty/jvm/some/dependency'
],
)
and then in pants-plugin/python/foo/BUILD
:
target(
name='cli',
dependencies= [
':cli-jar',
'pants-plugins/scala/foo:dependencies'
]
)
jar_library(
name= 'cli-jar',
jars = [
jar(
org='bar',
name='foo-cli',
rev='0.0.1-SNAPSHOT'
),
],
)
and to uses classpath_spec='//pants-plugins/python/foo:cli'
now, I have missing a NoClassDefFoundError on a class of the scala std lib ! it's like it refuses to resolve the transitive dependenciesbrief-engineer-67497
11/16/2018, 2:36 PM-ldebug
I found the fetch-ivy.xml
generated and I found this :
<dependency org="bar"
name="foo-cli"
rev="0.0.1-SNAPSHOT"
force="true"
transitive="false"
>
brief-engineer-67497
11/16/2018, 2:37 PM_< no idea why transitive is set to false
enough-analyst-54434
11/16/2018, 2:47 PMJarDependency(org='bar',
name='foo-cli',
rev='0.0.1-SNAPSHOT')
Are you mixing examples?enough-analyst-54434
11/16/2018, 2:47 PMbrief-engineer-67497
11/16/2018, 2:48 PMbrief-engineer-67497
11/16/2018, 2:49 PMenough-analyst-54434
11/16/2018, 2:50 PMbrief-engineer-67497
11/16/2018, 2:52 PMivysettings.xml
to declare my resolver and credentials.enough-analyst-54434
11/16/2018, 2:52 PMbrief-engineer-67497
11/16/2018, 2:52 PM<ivysettings>
<!-- The ${login} and ${password} values come from a netrc_credentials() object in a BUILD
-->
<include file="${user.home}/.ivy2/credentials.xml" />
<credentials host="<http://sf-nexus.foobar.com|sf-nexus.foobar.com>"
realm="Sonatype Nexus Repository Manager"
username="${nexus.login}"
passwd="${nexus.password}"/>
<property name="local.ivy.pattern"
value="[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
override="false" />
<property name="local.artifact.pattern"
value="[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
override="false" />
<property name="web.ivy.pattern"
value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"
override="false" />
<property name="web.artifact.pattern"
value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"
override="false" />
<property name="web.maven.pattern"
value="[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
override="false" />
<settings defaultResolver="chain"/>
<resolvers>
<chain name="chain" returnFirst="true">
<url name="nexus-ivy"
descriptor="required">
<ivy pattern="<https://sf-nexus.foobar.com/content/groups/global/${web.ivy.pattern}>" />
<artifact pattern="<https://sf-nexus.foobar.com/content/groups/global/${web.artifact.pattern}>" />
</url>
<url name="nexus-maven" m2compatible="true"
descriptor="required">
<ivy pattern="<https://sf-nexus.foobar.com/content/groups/global/${web.maven.pattern}>" />
<artifact pattern="<https://sf-nexus.foobar.com/content/groups/global/${web.maven.pattern}>" />
</url>
<ibiblio name="nexus-ivy-ibiblio"
descriptor="required"
root="<https://sf-nexus.foobar.com/content/groups/global/>" />
<ibiblio name="nexus-maven-ibiblio"
m2compatible="true"
descriptor="required"
root="<https://sf-nexus.foobar.com/content/groups/global/>" />
<filesystem name="local" m2compatible="true" local="true" checkmodified="true">
<ivy pattern="${user.home}/.ivy2/local/${local.ivy.pattern}" />
<artifact pattern="${user.home}/.ivy2/local/${local.artifact.pattern}" />
</filesystem>
<ibiblio name="public" m2compatible="true"
descriptor="required"/>
</chain>
</resolvers>
</ivysettings>
enough-analyst-54434
11/16/2018, 2:53 PMenough-analyst-54434
11/16/2018, 2:53 PMbrief-engineer-67497
11/16/2018, 2:53 PMbrief-engineer-67497
11/16/2018, 2:53 PMbrief-engineer-67497
11/16/2018, 2:54 PMdescriptor="required"
would be a good idea so I put it everywhere XDenough-analyst-54434
11/16/2018, 2:54 PMbrief-engineer-67497
11/16/2018, 2:55 PMnexus-maven
enough-analyst-54434
11/16/2018, 2:55 PMenough-analyst-54434
11/16/2018, 2:55 PMbrief-engineer-67497
11/16/2018, 2:57 PMbrief-engineer-67497
11/16/2018, 2:57 PMenough-analyst-54434
11/16/2018, 2:59 PMbrief-engineer-67497
11/16/2018, 3:01 PMenough-analyst-54434
11/16/2018, 3:02 PMenough-analyst-54434
11/16/2018, 3:02 PMbrief-engineer-67497
11/16/2018, 3:03 PM16:02:52 00:01 [routes-gen]
==== stderr ====
java.lang.NoClassDefFoundError: play/routes/compiler/RoutesGenerator
at com.mediarithmics.playpants.RoutesGen.main(RoutesGen.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.martiansoftware.nailgun.NGSession.run(NGSession.java:280)
Caused by: java.lang.ClassNotFoundException: play.routes.compiler.RoutesGenerator
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 6 more
==== stdout ====
`
enough-analyst-54434
11/16/2018, 3:04 PMenough-analyst-54434
11/16/2018, 3:05 PMbrief-engineer-67497
11/16/2018, 3:05 PMbrief-engineer-67497
11/16/2018, 3:05 PM-ldebug
brief-engineer-67497
11/16/2018, 3:06 PM/usr/bin/java -cp /home/lorilan/dev/mediarithmics-platform-2/.pants.d/ivy/jars/com.mediarithmics.pants/play-gen-tools/jars/play-gen-tools-0.0.1-SNAPSHOT.jar com.mediarithmics.playpants.RoutesGen
I see thisbrief-engineer-67497
11/16/2018, 3:06 PMbrief-engineer-67497
11/16/2018, 3:07 PMclasspath=[
JarDependency(org='bar',
name='foo-cli',
rev='0.0.1-SNAPSHOT'),
],
and not classpath_specbrief-engineer-67497
11/16/2018, 3:08 PMenough-analyst-54434
11/16/2018, 3:10 PMbrief-engineer-67497
11/16/2018, 3:10 PMregister_jvm_tool
, I specify it when calling runjava
so I have no shading problems) but then I still don't get the transitive dependencies (well the n+1 transitive dependency)enough-analyst-54434
11/16/2018, 3:11 PMbrief-engineer-67497
11/16/2018, 3:12 PMenough-analyst-54434
11/16/2018, 3:12 PMbrief-engineer-67497
11/16/2018, 3:12 PMJarDependency
to my published artifbactbrief-engineer-67497
11/16/2018, 3:12 PMenough-analyst-54434
11/16/2018, 3:12 PMenough-analyst-54434
11/16/2018, 3:13 PMbrief-engineer-67497
11/16/2018, 3:13 PMenough-analyst-54434
11/16/2018, 3:13 PMbrief-engineer-67497
11/16/2018, 3:14 PMbrief-engineer-67497
11/16/2018, 3:14 PMbrief-engineer-67497
11/16/2018, 3:18 PM<https://github.com/thesamet/play-pants/blob/master/src/python/play/tasks/routes_gen.py>
we just updated the version and integrated it to our mono - repo for "ease" of maintenance and because we have other build cli-tools to integratebrief-engineer-67497
11/16/2018, 3:22 PMbrief-engineer-67497
11/16/2018, 3:22 PMbrief-engineer-67497
11/16/2018, 3:22 PMbrief-engineer-67497
11/16/2018, 3:23 PMbrief-engineer-67497
11/16/2018, 3:31 PMpublication_metadata
in
provides = artifact(org = 'bar', name='foo', repo= public,
publication_metadata = ???)
have an impact on dependency resolution ?brief-engineer-67497
11/16/2018, 3:31 PMbrief-engineer-67497
11/16/2018, 3:46 PMenough-analyst-54434
11/16/2018, 3:47 PMbrief-engineer-67497
11/16/2018, 3:48 PMenough-analyst-54434
11/16/2018, 3:49 PM./pants clean-all && ./pants server --open
, we'll use the 'Latest' run view.enough-analyst-54434
11/16/2018, 3:50 PMbrief-engineer-67497
11/16/2018, 3:51 PMbrief-engineer-67497
11/16/2018, 3:51 PMenough-analyst-54434
11/16/2018, 3:54 PMenough-analyst-54434
11/16/2018, 3:54 PMbrief-engineer-67497
11/16/2018, 3:54 PMenough-analyst-54434
11/16/2018, 3:55 PMbrief-engineer-67497
11/16/2018, 3:56 PMbrief-engineer-67497
11/16/2018, 3:57 PMenough-analyst-54434
11/16/2018, 3:57 PMenough-analyst-54434
11/16/2018, 3:57 PMbrief-engineer-67497
11/16/2018, 3:57 PMbrief-engineer-67497
11/16/2018, 3:57 PMenough-analyst-54434
11/16/2018, 3:58 PMenough-analyst-54434
11/16/2018, 3:59 PMbrief-engineer-67497
11/16/2018, 4:00 PM<project xsi:schemaLocation="<http://maven.apache.org/POM/4.0.0> <http://maven.apache.org/maven-v4_0_0.xsd%22><modelVersion>4.0.0</modelVersion><groupId>com.mediarithmics.pants</groupId><artifactId>play-gen-tools</artifactId><packaging>jar</packaging><version>0.0.1-SNAPSHOT</version><dependencies><dependency><groupId>com.typesafe.play</groupId><artifactId>routes-compiler_2.12</artifactId><version>2.6.20</version><scope>compile</scope></dependency><dependency><groupId>com.typesafe.play</groupId><artifactId>twirl-compiler_2.12</artifactId><version>1.3.15</version><scope>compile</scope></dependency><dependency><groupId>com.github.scopt</groupId><artifactId>scopt_2.12</artifactId><version>3.7.0</version><scope>compile</scope></dependency></dependencies></project>|http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.mediarithmics.pants</groupId><artifactId>play-gen-tools</artifactId><packaging>jar</packaging><version>0.0.1-SNAPSHOT</version><dependencies><dependency><groupId>com.typesafe.play</groupId><artifactId>routes-compiler_2.12</artifactId><version>2.6.20</version><scope>compile</scope></dependency><dependency><groupId>com.typesafe.play</groupId><artifactId>twirl-compiler_2.12</artifactId><version>1.3.15</version><scope>compile</scope></dependency><dependency><groupId>com.github.scopt</groupId><artifactId>scopt_2.12</artifactId><version>3.7.0</version><scope>compile</scope></dependency></dependencies></project>>
enough-analyst-54434
11/16/2018, 4:00 PMenough-analyst-54434
11/16/2018, 4:01 PMenough-analyst-54434
11/16/2018, 4:01 PMenough-analyst-54434
11/16/2018, 4:01 PMtree ~/.ivy2/local/com.mediarithmics.pants/play-gen-tools/
brief-engineer-67497
11/16/2018, 4:01 PM/home/lorilan/.ivy2/local/com.mediarithmics.pants/play-gen-tools [error opening dir]
0 directories, 0 files
enough-analyst-54434
11/16/2018, 4:02 PMbrief-engineer-67497
11/16/2018, 4:02 PMenough-analyst-54434
11/16/2018, 4:02 PMbrief-engineer-67497
11/16/2018, 4:02 PMbrief-engineer-67497
11/16/2018, 4:02 PMenough-analyst-54434
11/16/2018, 4:02 PMenough-analyst-54434
11/16/2018, 4:02 PMbrief-engineer-67497
11/16/2018, 4:02 PMtree ~/.ivy2/local/com/mediarithmics/pants/play-gen-tools
/home/lorilan/.ivy2/local/com/mediarithmics/pants/play-gen-tools
0 directories, 0 files
enough-analyst-54434
11/16/2018, 4:02 PMbrief-engineer-67497
11/16/2018, 4:03 PMtree ~/.ivy2/pants/com.mediarithmics.pants/play-gen-tools
/home/lorilan/.ivy2/pants/com.mediarithmics.pants/play-gen-tools
├── ivy-0.0.1-SNAPSHOT.xml
├── ivy-0.0.1-SNAPSHOT.xml.original
├── ivydata-0.0.1-SNAPSHOT.properties
└── jars
└── play-gen-tools-0.0.1-SNAPSHOT.jar
1 directory, 4 files
brief-engineer-67497
11/16/2018, 4:03 PMenough-analyst-54434
11/16/2018, 4:03 PMbrief-engineer-67497
11/16/2018, 4:03 PMcat ~/.ivy2/pants/com.mediarithmics.pants/play-gen-tools/ivy-0.0.1-SNAPSHOT.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2015 Pants project contributors (see CONTRIBUTORS.md).
Licensed under the Apache License, Version 2.0 (see LICENSE).
-->
<!-- generated by pants! -->
<ivy-module version="2.0" xmlns:xsi="<http://www.w3.org/2001/XMLSchema-instance>" xsi:noNamespaceSchemaLocation="<http://ant.apache.org/ivy/schemas/ivy.xsd>" xmlns:m="<http://ant.apache.org/ivy/maven>">
<info organisation="com.mediarithmics.pants" module="play-gen-tools" revision="0.0.1-SNAPSHOT" status="release" publication="20181115160620"/>
<publications>
<artifact/>
<artifact m:classifier="sources"/>
<artifact type="pom"/>
</publications>
</ivy-module>
brief-engineer-67497
11/16/2018, 4:03 PMenough-analyst-54434
11/16/2018, 4:04 PMbrief-engineer-67497
11/16/2018, 4:04 PMenough-analyst-54434
11/16/2018, 4:04 PMbrief-engineer-67497
11/16/2018, 4:04 PMenough-analyst-54434
11/16/2018, 4:04 PMbrief-engineer-67497
11/16/2018, 4:04 PMenough-analyst-54434
11/16/2018, 4:04 PMenough-analyst-54434
11/16/2018, 4:05 PMrm -rf ~/.ivy2/pants/com.mediarithmics.pants/play-gen-tools
brief-engineer-67497
11/16/2018, 4:05 PMrm ~/.ivy2/pants -rf
enough-analyst-54434
11/16/2018, 4:05 PM./pants clean-all
brief-engineer-67497
11/16/2018, 4:05 PMbrief-engineer-67497
11/16/2018, 4:05 PMenough-analyst-54434
11/16/2018, 4:05 PMcat ivydata-0.0.1-SNAPSHOT.properties
brief-engineer-67497
11/16/2018, 4:06 PMcat ~/.ivy2/pants/com.mediarithmics.pants/play-gen-tools/ivydata-0.0.1-SNAPSHOT.properties
#ivy cached data file for com.mediarithmics.pants#play-gen-tools;0.0.1-SNAPSHOT
#Fri Nov 16 16:58:02 CET 2018
artifact\:ivy\#ivy.original\#xml\#-157161836.exists=true
artifact\:ivy\#ivy\#xml\#-1591587195.is-local=false
artifact\:ivy\#ivy\#xml\#-1591587195.location=https\://sf-nexus.mediarithmics.com/content/groups/global/com/mediarithmics/pants/play-gen-tools/0.0.1-SNAPSHOT/ivy-0.0.1-SNAPSHOT.xml
resolver=nexus-maven
artifact\:ivy\#ivy\#xml\#-1591587195.exists=true
artifact\:play-gen-tools\#jar\#jar\#-1929109683.exists=true
artifact\:ivy\#ivy.original\#xml\#-157161836.location=https\://sf-nexus.mediarithmics.com/content/groups/global/com/mediarithmics/pants/play-gen-tools/0.0.1-SNAPSHOT/ivy-0.0.1-SNAPSHOT.xml
artifact\:play-gen-tools\#jar\#jar\#-1929109683.location=https\://sf-nexus.mediarithmics.com/content/groups/global/com/mediarithmics/pants/play-gen-tools/0.0.1-SNAPSHOT/play-gen-tools-0.0.1-SNAPSHOT.jar
artifact\:ivy\#ivy\#xml\#-1591587195.original=artifact\:ivy\#ivy.original\#xml\#-157161836
artifact.resolver=nexus-maven
artifact\:ivy\#ivy.original\#xml\#-157161836.is-local=false
artifact\:play-gen-tools\#jar\#jar\#-1929109683.is-local=false
artifact\:ivy\#ivy.original\#xml\#-157161836.original=artifact\:ivy\#ivy.original\#xml\#-157161836
artifact\:play-gen-tools\#jar\#jar\#-1929109683.original=artifact\:play-gen-tools\#jar\#jar\#-1929109683
enough-analyst-54434
11/16/2018, 4:08 PMbrief-engineer-67497
11/16/2018, 4:08 PM<ivysettings>
<credentials host="<http://sf-nexus.mediarithmics.com|sf-nexus.mediarithmics.com>"
realm="Sonatype Nexus Repository Manager"
username="${login}"
passwd="${password}"/>
<property name="web.ivy.pattern"
value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"
override="false" />
<property name="web.artifact.pattern"
value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"
override="false" />
<resolvers>
<!-- For resolving foreign deps only (to create a poms for publishing). -->
<url name="web">
<ivy pattern="<https://sf-nexus.mediarithmics.com/content/groups/global/${web.ivy.pattern}>" />
<artifact pattern="<https://sf-nexus.mediarithmics.com/content/groups/global/${web.artifact.pattern}>" />
</url>
<!-- For publishing to maven central only. -->
<ibiblio name="<http://sf-nexus.mediarithmics.com|sf-nexus.mediarithmics.com>"
m2compatible="true"
usepoms="true"
root="<https://sf-nexus.mediarithmics.com/repository/releases/>"
/>
<ibiblio name="nexus-snapshot"
m2compatible="true"
usepoms="true"
root="<https://sf-nexus.mediarithmics.com/repository/snapshots>"
/>
</resolvers>
</ivysettings>
enough-analyst-54434
11/16/2018, 4:08 PMenough-analyst-54434
11/16/2018, 4:08 PMenough-analyst-54434
11/16/2018, 4:09 PMbrief-engineer-67497
11/16/2018, 4:10 PMenough-analyst-54434
11/16/2018, 4:10 PMbrief-engineer-67497
11/16/2018, 4:10 PMbrief-engineer-67497
11/16/2018, 4:10 PMenough-analyst-54434
11/16/2018, 4:11 PMbrief-engineer-67497
11/16/2018, 4:12 PMenough-analyst-54434
11/16/2018, 4:12 PM<url name="nexus-ivy"
descriptor="required">
<ivy pattern="<https://sf-nexus.foobar.com/content/groups/global/${web.ivy.pattern}>" />
<artifact pattern="<https://sf-nexus.foobar.com/content/groups/global/${web.artifact.pattern}>" />
</url>
brief-engineer-67497
11/16/2018, 4:12 PMbrief-engineer-67497
11/16/2018, 4:13 PMrm ~/.ivy2/pants -rf
then ./pants clean-all
then my task …brief-engineer-67497
11/16/2018, 4:13 PMenough-analyst-54434
11/16/2018, 4:14 PMenough-analyst-54434
11/16/2018, 4:15 PMenough-analyst-54434
11/16/2018, 4:15 PMenough-analyst-54434
11/16/2018, 4:15 PMbrief-engineer-67497
11/16/2018, 4:15 PMenough-analyst-54434
11/16/2018, 4:15 PM<ibiblio name="nexus-ivy-ibiblio"
descriptor="required"
root="<https://sf-nexus.foobar.com/content/groups/global/>" />
enough-analyst-54434
11/16/2018, 4:15 PMbrief-engineer-67497
11/16/2018, 4:15 PMenough-analyst-54434
11/16/2018, 4:15 PM<ibiblio name="nexus-maven-ibiblio"
m2compatible="true"
descriptor="required"
root="<https://sf-nexus.foobar.com/content/groups/global/>" />
enough-analyst-54434
11/16/2018, 4:16 PMbrief-engineer-67497
11/16/2018, 4:16 PMbrief-engineer-67497
11/16/2018, 4:16 PM<ivysettings>
<!-- The ${login} and ${password} values come from a netrc_credentials() object in a BUILD
-->
<include file="${user.home}/.ivy2/credentials.xml" />
<credentials host="<http://sf-nexus.mediarithmics.com|sf-nexus.mediarithmics.com>"
realm="Sonatype Nexus Repository Manager"
username="${nexus.login}"
passwd="${nexus.password}"/>
<property name="local.pattern"
value="[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
override="false" />
<property name="web.ivy.pattern"
value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"
override="false" />
<property name="web.maven.pattern"
value="[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
override="false" />
<settings defaultResolver="chain"/>
<resolvers>
<chain name="chain" returnFirst="true">
<url name="nexus-maven" m2compatible="true"
descriptor="required">
<ivy pattern="<https://sf-nexus.mediarithmics.com/content/groups/global/${web.maven.pattern}>" />
<artifact pattern="<https://sf-nexus.mediarithmics.com/content/groups/global/${web.maven.pattern}>" />
</url>
<ibiblio name="nexus-maven-ibiblio"
m2compatible="true"
descriptor="required"
root="<https://sf-nexus.mediarithmics.com/content/groups/global/>" />
<filesystem name="local" m2compatible="true" local="true" checkmodified="true">
<ivy pattern="${user.home}/.ivy2/local/${local.pattern}" />
<artifact pattern="${user.home}/.ivy2/local/${local.pattern}" />
</filesystem>
<ibiblio name="public" m2compatible="true"
descriptor="required"/>
</chain>
</resolvers>
</ivysettings>
brief-engineer-67497
11/16/2018, 4:16 PMenough-analyst-54434
11/16/2018, 4:16 PMbrief-engineer-67497
11/16/2018, 4:16 PMenough-analyst-54434
11/16/2018, 4:17 PMenough-analyst-54434
11/16/2018, 4:17 PMenough-analyst-54434
11/16/2018, 4:17 PMbrief-engineer-67497
11/16/2018, 4:18 PMbrief-engineer-67497
11/16/2018, 4:18 PMcat ~/.ivy2/pants/com.mediarithmics.pants/play-gen-tools/ivydata-0.0.1-SNAPSHOT.properties
#ivy cached data file for com.mediarithmics.pants#play-gen-tools;0.0.1-SNAPSHOT
#Fri Nov 16 17:17:10 CET 2018
artifact\:play-gen-tools\#pom.original\#pom\#-276547021.location=https\://sf-nexus.mediarithmics.com/content/groups/global/com/mediarithmics/pants/play-gen-tools/0.0.1-SNAPSHOT/play-gen-tools-0.0.1-SNAPSHOT.pom
artifact\:ivy\#ivy\#xml\#-1591587195.is-local=false
artifact\:ivy\#ivy\#xml\#-1591587195.location=https\://sf-nexus.mediarithmics.com/content/groups/global/com/mediarithmics/pants/play-gen-tools/0.0.1-SNAPSHOT/play-gen-tools-0.0.1-SNAPSHOT.pom
resolver=nexus-maven-ibiblio
artifact\:play-gen-tools\#pom.original\#pom\#-276547021.is-local=false
artifact\:play-gen-tools\#jar\#jar\#-1929109683.exists=true
artifact\:ivy\#ivy\#xml\#-1591587195.exists=true
artifact\:play-gen-tools\#pom.original\#pom\#-276547021.original=artifact\:play-gen-tools\#pom.original\#pom\#-276547021
artifact\:play-gen-tools\#pom.original\#pom\#-276547021.exists=true
artifact\:play-gen-tools\#jar\#jar\#-1929109683.location=https\://sf-nexus.mediarithmics.com/content/groups/global/com/mediarithmics/pants/play-gen-tools/0.0.1-SNAPSHOT/play-gen-tools-0.0.1-SNAPSHOT.jar
artifact\:ivy\#ivy\#xml\#-1591587195.original=artifact\:play-gen-tools\#pom.original\#pom\#-276547021
artifact.resolver=nexus-maven-ibiblio
artifact\:play-gen-tools\#jar\#jar\#-1929109683.is-local=false
artifact\:play-gen-tools\#jar\#jar\#-1929109683.original=artifact\:play-gen-tools\#jar\#jar\#-1929109683
enough-analyst-54434
11/16/2018, 4:18 PMenough-analyst-54434
11/16/2018, 4:18 PMbrief-engineer-67497
11/16/2018, 4:19 PMcat ~/.ivy2/pants/com.mediarithmics.pants/play-gen-tools/ivy-0.0.1-SNAPSHOT.xml
<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0" xmlns:m="<http://ant.apache.org/ivy/maven>">
<info organisation="com.mediarithmics.pants"
module="play-gen-tools"
revision="0.0.1-SNAPSHOT"
status="integration"
publication="20181115170621"
>
<description homepage="" />
</info>
<configurations>
<conf name="default" visibility="public" description="runtime dependencies and master artifact can be used with this conf" extends="runtime,master"/>
<conf name="master" visibility="public" description="contains only the artifact published by this module itself, with no transitive dependencies"/>
<conf name="compile" visibility="public" description="this is the default scope, used if none is specified. Compile dependencies are available in all classpaths."/>
<conf name="provided" visibility="public" description="this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive."/>
<conf name="runtime" visibility="public" description="this scope indicates that the dependency is not required for compilation, but is for execution. It is in the runtime and test classpaths, but not the compile classpath." extends="compile"/>
<conf name="test" visibility="private" description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases." extends="runtime"/>
<conf name="system" visibility="public" description="this scope is similar to provided except that you have to provide the JAR which contains it explicitly. The artifact is always available and is not looked up in a repository."/>
<conf name="sources" visibility="public" description="this configuration contains the source artifact of this module, if any."/>
<conf name="javadoc" visibility="public" description="this configuration contains the javadoc artifact of this module, if any."/>
<conf name="optional" visibility="public" description="contains all optional dependencies"/>
</configurations>
<publications>
<artifact name="play-gen-tools" type="jar" ext="jar" conf="master"/>
<artifact name="play-gen-tools" type="source" ext="jar" conf="sources" m:classifier="sources"/>
</publications>
<dependencies>
<dependency org="com.typesafe.play" name="routes-compiler_2.12" rev="2.6.20" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
<dependency org="com.typesafe.play" name="twirl-compiler_2.12" rev="1.3.15" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
<dependency org="com.github.scopt" name="scopt_2.12" rev="3.7.0" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
</dependencies>
</ivy-module>
enough-analyst-54434
11/16/2018, 4:19 PMbrief-engineer-67497
11/16/2018, 4:19 PMbrief-engineer-67497
11/16/2018, 4:19 PMenough-analyst-54434
11/16/2018, 4:19 PMenough-analyst-54434
11/16/2018, 4:20 PMenough-analyst-54434
11/16/2018, 4:20 PMbrief-engineer-67497
11/16/2018, 4:20 PMcat ~/.ivy2/pants/com.mediarithmics.pants/play-gen-tools/ivy-0.0.1-SNAPSHOT.xml.original
<?xml version="1.0" encoding="UTF-8"?>
<!-- generated by pants! <http://pantsbuild.github.io/> -->
<project xmlns="<http://maven.apache.org/POM/4.0.0>"
xmlns:xsi="<http://www.w3.org/2001/XMLSchema-instance>"
xsi:schemaLocation="<http://maven.apache.org/POM/4.0.0>
<http://maven.apache.org/maven-v4_0_0.xsd%22>|http://maven.apache.org/maven-v4_0_0.xsd">>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mediarithmics.pants</groupId>
<artifactId>play-gen-tools</artifactId>
<packaging>jar</packaging>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.typesafe.play</groupId>
<artifactId>routes-compiler_2.12</artifactId>
<version>2.6.20</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.typesafe.play</groupId>
<artifactId>twirl-compiler_2.12</artifactId>
<version>1.3.15</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.github.scopt</groupId>
<artifactId>scopt_2.12</artifactId>
<version>3.7.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
enough-analyst-54434
11/16/2018, 4:20 PMenough-analyst-54434
11/16/2018, 4:20 PMbrief-engineer-67497
11/16/2018, 4:20 PMenough-analyst-54434
11/16/2018, 4:20 PMenough-analyst-54434
11/16/2018, 4:20 PMbrief-engineer-67497
11/16/2018, 4:22 PMbrief-engineer-67497
11/16/2018, 4:23 PMenough-analyst-54434
11/16/2018, 4:23 PMenough-analyst-54434
11/16/2018, 4:23 PMjq . [the json file]
brief-engineer-67497
11/16/2018, 4:26 PMenough-analyst-54434
11/16/2018, 4:28 PMbrief-engineer-67497
11/16/2018, 4:32 PMbrief-engineer-67497
11/16/2018, 4:35 PMcat /home/lorilan/dev/mediarithmics-platform-2/.pants.d/bootstrap/bootstrap-jvm-tools/7345c2790d72/ivy/b62ecdedc3bb2ee04966616bc517f744a1f4d027-IvyResolveFingerprintStrategy_5b120e9b2989/resolution.json
{"default": {"target_to_coords": {"//:play-gen-tools": ["com.mediarithmics.pants:play-gen-tools:0.0.1-SNAPSHOT"]}, "coord_to_attrs": {"com.mediarithmics.pants:play-gen-tools:0.0.1-SNAPSHOT": {}}}}
enough-analyst-54434
11/16/2018, 4:35 PMbrief-engineer-67497
11/16/2018, 4:35 PMbrief-engineer-67497
11/16/2018, 4:37 PMcat fetch-ivy.xml
<?xml version="1.0"?>
<!--
Copyright 2016 Pants project contributors (see CONTRIBUTORS.md).
Licensed under the Apache License, Version 2.0 (see LICENSE).
-->
<!-- generated by pants! -->
<ivy-module version="2.0"
xmlns:xsi="<http://www.w3.org/2001/XMLSchema-instance>"
xsi:noNamespaceSchemaLocation="<http://ant.apache.org/ivy/schemas/ivy.xsd>"
xmlns:m="<http://ant.apache.org/ivy/maven>">
<info organisation="internal" module="b62ecdedc3bb2ee04966616bc517f744a1f4d027-IvyResolveFingerprintStrategy_5b120e9b2989-fetch"/>
<configurations>
<conf name="default"/>
</configurations>
<dependencies>
<dependency org="com.mediarithmics.pants"
name="play-gen-tools"
rev="0.0.1-SNAPSHOT"
force="true"
transitive="false"
>
<conf name="default" mapped="default"/>
<artifact
name="play-gen-tools"
type="jar"
ext="jar"
/>
</dependency>
<conflict manager="all"></conflict>
</dependencies>
</ivy-module>
brief-engineer-67497
11/16/2018, 4:37 PMenough-analyst-54434
11/16/2018, 4:37 PMbrief-engineer-67497
11/16/2018, 4:37 PMbrief-engineer-67497
11/16/2018, 4:39 PMenough-analyst-54434
11/16/2018, 4:40 PMbrief-engineer-67497
11/16/2018, 4:43 PMrm -rf ~/.ivy2/pants && ./pants clean-all && ./pants bundle job-management-services/job-front:dist
brief-engineer-67497
11/16/2018, 4:43 PMbrief-engineer-67497
11/16/2018, 4:43 PMenough-analyst-54434
11/16/2018, 4:43 PMbrief-engineer-67497
11/16/2018, 4:43 PMbrief-engineer-67497
11/16/2018, 4:44 PMenough-analyst-54434
11/16/2018, 4:44 PMenough-analyst-54434
11/16/2018, 4:46 PMgrep play-gen-tools ~/.ivy2/pants/*.{xml,properties}
brief-engineer-67497
11/16/2018, 4:46 PMgrep play-gen-tools ~/.ivy2/pants/*.{xml,properties}
/home/lorilan/.ivy2/pants/internal-b62ecdedc3bb2ee04966616bc517f744a1f4d027-IvyResolveFingerprintStrategy_5b120e9b2989-fetch-default.xml: <module organisation="com.mediarithmics.pants" name="play-gen-tools">
/home/lorilan/.ivy2/pants/internal-b62ecdedc3bb2ee04966616bc517f744a1f4d027-IvyResolveFingerprintStrategy_5b120e9b2989-fetch-default.xml: <metadata-artifact status="successful" details="" size="1144" time="62" location="/home/lorilan/.ivy2/pants/com.mediarithmics.pants/play-gen-tools/ivy-0.0.1-SNAPSHOT.xml" searched="true" original-local-location="/home/lorilan/.ivy2/pants/com.mediarithmics.pants/play-gen-tools/ivy-0.0.1-SNAPSHOT.xml.original" origin-is-local="false" origin-location="<https://sf-nexus.mediarithmics.com/content/groups/global/com/mediarithmics/pants/play-gen-tools/0.0.1-SNAPSHOT/play-gen-tools-0.0.1-SNAPSHOT.pom>"/>
/home/lorilan/.ivy2/pants/internal-b62ecdedc3bb2ee04966616bc517f744a1f4d027-IvyResolveFingerprintStrategy_5b120e9b2989-fetch-default.xml: <artifact name="play-gen-tools" type="jar" ext="jar" status="successful" details="" size="54397" time="80" location="/home/lorilan/.ivy2/pants/com.mediarithmics.pants/play-gen-tools/jars/play-gen-tools-0.0.1-SNAPSHOT.jar">
/home/lorilan/.ivy2/pants/internal-b62ecdedc3bb2ee04966616bc517f744a1f4d027-IvyResolveFingerprintStrategy_5b120e9b2989-fetch-default.xml: <origin-location is-local="false" location="<https://sf-nexus.mediarithmics.com/content/groups/global/com/mediarithmics/pants/play-gen-tools/0.0.1-SNAPSHOT/play-gen-tools-0.0.1-SNAPSHOT.jar>"/>
/home/lorilan/.ivy2/pants/resolved-internal-b62ecdedc3bb2ee04966616bc517f744a1f4d027-IvyResolveFingerprintStrategy_5b120e9b2989-fetch-working@hyrule.xml: <dependency org="com.mediarithmics.pants" name="play-gen-tools" rev="0.0.1-SNAPSHOT" force="true" transitive="false">
/home/lorilan/.ivy2/pants/resolved-internal-b62ecdedc3bb2ee04966616bc517f744a1f4d027-IvyResolveFingerprintStrategy_5b120e9b2989-fetch-working@hyrule.xml: <artifact name="play-gen-tools" type="jar" ext="jar"/>
/home/lorilan/.ivy2/pants/resolved-internal-b62ecdedc3bb2ee04966616bc517f744a1f4d027-IvyResolveFingerprintStrategy_5b120e9b2989-fetch-working@hyrule.properties:+organisation\:\#@\#\:+com.mediarithmics.pants\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+play-gen-tools\:\#@\#\:+revision\:\#@\#\:+0.0.1-SNAPSHOT\:\#@\#\:=0.0.1-SNAPSHOT integration 0.0.1-SNAPSHOT null
enough-analyst-54434
11/16/2018, 4:52 PMtree .pants.d/resolve/ivy/current/ivy/
brief-engineer-67497
11/16/2018, 4:53 PMtree .pants.d/resolve/ivy/current/ivy/
.pants.d/resolve/ivy/current/ivy/ [error opening dir]
0 directories, 0 files
brief-engineer-67497
11/16/2018, 4:53 PMenough-analyst-54434
11/16/2018, 4:53 PMenough-analyst-54434
11/16/2018, 4:53 PMenough-analyst-54434
11/16/2018, 4:53 PMenough-analyst-54434
11/16/2018, 4:54 PMenough-analyst-54434
11/16/2018, 4:54 PMbrief-engineer-67497
11/16/2018, 4:55 PMbrief-engineer-67497
11/16/2018, 4:55 PMenough-analyst-54434
11/16/2018, 4:55 PMbrief-engineer-67497
11/16/2018, 4:55 PMenough-analyst-54434
11/16/2018, 4:56 PMbrief-engineer-67497
11/16/2018, 4:57 PMls -a .pants.d
. .. bootstrap build_invalidator gen jvm-platform-validate link logs native-compile ng reports run-tracker unpack-jars
enough-analyst-54434
11/16/2018, 4:57 PMenough-analyst-54434
11/16/2018, 4:58 PM./pants resolve some/3rdparty/jar:target
?enough-analyst-54434
11/16/2018, 4:58 PMbrief-engineer-67497
11/16/2018, 4:59 PMbrief-engineer-67497
11/16/2018, 5:00 PMls .pants.d/resolve
ivy
brief-engineer-67497
11/16/2018, 5:00 PMenough-analyst-54434
11/16/2018, 5:02 PMenough-analyst-54434
11/16/2018, 5:02 PMbrief-engineer-67497
11/16/2018, 5:02 PMbrief-engineer-67497
11/16/2018, 5:02 PMenough-analyst-54434
11/16/2018, 5:03 PMenough-analyst-54434
11/16/2018, 5:04 PM.cache
enough-analyst-54434
11/16/2018, 5:05 PMbrief-engineer-67497
11/16/2018, 5:05 PMenough-analyst-54434
11/16/2018, 5:05 PM./pants clean-all && rm -rf .cache
enough-analyst-54434
11/16/2018, 5:06 PMenough-analyst-54434
11/16/2018, 5:06 PMbrief-engineer-67497
11/16/2018, 5:06 PMbrief-engineer-67497
11/16/2018, 5:07 PMbrief-engineer-67497
11/16/2018, 5:07 PM18:06:23 00:01 [cache]
No cached artifacts for 1 target.
Invalidated 1 target.. .. ..
18:06:23 00:01 [execute]
Waiting for background workers to finish.
18:06:31 00:09 [complete]
FAILURE
timestamp: 2018-11-16T18:06:31.734063
Exception caught: (exceptions.TypeError) (backtrace omitted)
Exception message: 'NoneType' object is not iterable
brief-engineer-67497
11/16/2018, 5:08 PMenough-analyst-54434
11/16/2018, 5:08 PM[GLOBAL]
print_exception_stacktrace: True
enough-analyst-54434
11/16/2018, 5:08 PMenough-analyst-54434
11/16/2018, 5:08 PMbrief-engineer-67497
11/16/2018, 5:09 PMException caught: (exceptions.TypeError)
File "/home/lorilan/.cache/pants/setup/bootstrap-Linux-x86_64/1.11.0rc1/bin/pants", line 11, in <module>
sys.exit(main())
File "/home/lorilan/.cache/pants/setup/bootstrap-Linux-x86_64/1.11.0rc1/lib/python2.7/site-packages/pants/bin/pants_loader.py", line 71, in main
PantsLoader.run()
File "/home/lorilan/.cache/pants/setup/bootstrap-Linux-x86_64/1.11.0rc1/lib/python2.7/site-packages/pants/bin/pants_loader.py", line 67, in run
cls.load_and_execute(entrypoint)
File "/home/lorilan/.cache/pants/setup/bootstrap-Linux-x86_64/1.11.0rc1/lib/python2.7/site-packages/pants/bin/pants_loader.py", line 60, in load_and_execute
entrypoint_main()
File "/home/lorilan/.cache/pants/setup/bootstrap-Linux-x86_64/1.11.0rc1/lib/python2.7/site-packages/pants/bin/pants_exe.py", line 39, in main
PantsRunner(exiter, start_time=start_time).run()
File "/home/lorilan/.cache/pants/setup/bootstrap-Linux-x86_64/1.11.0rc1/lib/python2.7/site-packages/pants/bin/pants_runner.py", line 62, in run
return runner.run()
File "/home/lorilan/.cache/pants/setup/bootstrap-Linux-x86_64/1.11.0rc1/lib/python2.7/site-packages/pants/bin/local_pants_runner.py", line 158, in run
self._run()
File "/home/lorilan/.cache/pants/setup/bootstrap-Linux-x86_64/1.11.0rc1/lib/python2.7/site-packages/pants/bin/local_pants_runner.py", line 222, in _run
goal_runner_result = self._maybe_run_v1(run_tracker, reporting)
File "/home/lorilan/.cache/pants/setup/bootstrap-Linux-x86_64/1.11.0rc1/lib/python2.7/site-packages/pants/bin/local_pants_runner.py", line 175, in _maybe_run_v1
return goal_runner_factory.create().run()
File "/home/lorilan/.cache/pants/setup/bootstrap-Linux-x86_64/1.11.0rc1/lib/python2.7/site-packages/pants/bin/goal_runner.py", line 204, in run
return self._run_goals()
File "/home/lorilan/.cache/pants/setup/bootstrap-Linux-x86_64/1.11.0rc1/lib/python2.7/site-packages/pants/bin/goal_runner.py", line 175, in _run_goals
result = self._execute_engine()
File "/home/lorilan/.cache/pants/setup/bootstrap-Linux-x86_64/1.11.0rc1/lib/python2.7/site-packages/pants/bin/goal_runner.py", line 163, in _execute_engine
result = engine.execute(self._context, self._goals)
File "/home/lorilan/.cache/pants/setup/bootstrap-Linux-x86_64/1.11.0rc1/lib/python2.7/site-packages/pants/engine/legacy_engine.py", line 26, in execute
self.attempt(context, goals)
File "/home/lorilan/.cache/pants/setup/bootstrap-Linux-x86_64/1.11.0rc1/lib/python2.7/site-packages/pants/engine/round_engine.py", line 233, in attempt
goal_executor.attempt(explain)
File "/home/lorilan/.cache/pants/setup/bootstrap-Linux-x86_64/1.11.0rc1/lib/python2.7/site-packages/pants/engine/round_engine.py", line 49, in attempt
task.execute()
File "/home/lorilan/.cache/pants/setup/bootstrap-Linux-x86_64/1.11.0rc1/lib/python2.7/site-packages/pants/task/simple_codegen_task.py", line 240, in execute
sources = self._capture_sources((key,))[0]
File "/home/lorilan/.cache/pants/setup/bootstrap-Linux-x86_64/1.11.0rc1/lib/python2.7/site-packages/pants/task/simple_codegen_task.py", line 292, in _capture_sources
buildroot_relative_globs = tuple(os.path.join(results_dir_relpath, file) for file in files)
brief-engineer-67497
11/16/2018, 5:09 PMenough-analyst-54434
11/16/2018, 5:09 PMenough-analyst-54434
11/16/2018, 5:10 PMbrief-engineer-67497
11/16/2018, 5:10 PMbrief-engineer-67497
11/16/2018, 5:10 PMbrief-engineer-67497
11/16/2018, 5:10 PMbrief-engineer-67497
11/16/2018, 5:10 PMenough-analyst-54434
11/16/2018, 5:11 PMbrief-engineer-67497
11/16/2018, 5:11 PMbrief-engineer-67497
11/16/2018, 5:12 PMenough-analyst-54434
11/16/2018, 5:12 PMbrief-engineer-67497
11/16/2018, 5:12 PMbrief-engineer-67497
11/16/2018, 5:15 PMbrief-engineer-67497
11/16/2018, 5:16 PMenough-analyst-54434
11/16/2018, 5:16 PMbrief-engineer-67497
11/16/2018, 5:16 PMenough-analyst-54434
11/16/2018, 5:17 PMbrief-engineer-67497
11/16/2018, 5:17 PMbrief-engineer-67497
11/16/2018, 5:17 PMenough-analyst-54434
11/16/2018, 5:17 PMenough-analyst-54434
11/16/2018, 5:18 PMbrief-engineer-67497
11/16/2018, 5:19 PM