maven.dependency.sources=false should be the default value. Only developers are interest by sources for debugging.
----- Original Message ----- From: "nicolas De Loof" <[EMAIL PROTECTED]> To: "Maven Developers List" <[EMAIL PROTECTED]> Sent: Monday, March 29, 2004 11:11 AM Subject: Re: Enhancement with patch avaible : artifact source attachement > Your right, I didn't thin kabout this (having a 56k modem at home I > should do !) > > I' suggest to use an optional "maven.dependency.sources=false" to > disable source download > > Nico. > > > Emmanuel Venisse a �crit : > > >OK for the failure, but a users doesn't always want to download sources and > >reduce his bandwidth. > > > >Emmanuel > > > >----- Original Message ----- > >From: "nicolas De Loof" <[EMAIL PROTECTED]> > >To: "Maven Developers List" <[EMAIL PROTECTED]> > >Sent: Monday, March 29, 2004 11:00 AM > >Subject: Re: Enhancement with patch avaible : artifact source attachement > > > > > > > > > >>A "source" failed download doesn't generate a build failed. Sources are > >>"implicit" optionnal > >> > >>Nico. > >> > >>Emmanuel Venisse a �crit : > >> > >> > >> > >>>Can you set optional the sources downloading? > >>> > >>>Emmanuel > >>> > >>>----- Original Message ----- > >>>From: "nicolas De Loof" <[EMAIL PROTECTED]> > >>>Cc: "Maven Developers List" <[EMAIL PROTECTED]> > >>>Sent: Monday, March 29, 2004 9:52 AM > >>>Subject: Re: Enhancement with patch avaible : artifact source attachement > >>> > >>> > >>> > >>> > >>> > >>> > >>>>Sorry, I forget to attach the patch files > >>>> > >>>>nicolas De Loof a �crit : > >>>> > >>>> > >>>> > >>>> > >>>> > >>>>>Hello, > >>>>> > >>>>>I've added a tiny enhancement to maven 1.0 RC2 : > >>>>> > >>>>>When downloading some artifact from remote repo(s), my patched maven > >>>>>tries to download the artifact sources. It is usefull on eclipse to > >>>>>get generated classpath with associated sources -> inheritence with > >>>>>parameters and javadoc, browse sources, debug ... > >>>>>(I patched eclispe generate-classpath goal to do this). > >>>>> > >>>>>The artifact sources for any artifact named "XXXXX.ext" is searched as > >>>>>"XXXXX-src.ext" > >>>>> > >>>>>You can test it by applying the patch or by downloading the patched > >>>>>"maven.jar" and eclipse plugin "classpath.jelly" from > >>>>>http://ndeloof.free.fr/maven. > >>>>> > >>>>>I setted a test sources repository on > >>>>>http://ndeloof.free.fr/maven/srcrepository. Naturally, if this patch > >>>>>is accepted, such artifact sources should go on ibiblio. > >>>>> > >>>>>Building the artifact sources for a mavenized project could be added > >>>>>as enhancement of the jar plugin or use a simpel maven.xml postGoal. > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>> > >>> > >>-------------------------------------------------------------------------- - > >> > >> > >- > > > > > >>>---- > >>> > >>> > >>> > >>> > >>> > >>> > >>>>Index: src/java/org/apache/maven/repository/AbstractArtifact.java > >>>>=================================================================== > >>>>retrieving revision 1.22.4.4 > >>>>diff -u -r1.22.4.4 AbstractArtifact.java > >>>>--- src/java/org/apache/maven/repository/AbstractArtifact.java 1 Mar > >>>> > >>>> > >2004 > > > > > >>>> > >>>> > >>>22:36:39 -0000 1.22.4.4 > >>> > >>> > >>> > >>> > >>>>+++ src/java/org/apache/maven/repository/AbstractArtifact.java 29 Mar > >>>> > >>>> > >2004 > > > > > >>>> > >>>> > >>>07:39:20 -0000 > >>> > >>> > >>> > >>> > >>>>@@ -48,7 +48,10 @@ > >>>> > >>>> /** Path to artifact. */ > >>>> private String path; > >>>>- > >>>>+ > >>>>+ /** flag to indicate sources are present in repository */ > >>>>+ private boolean hasSources = false; > >>>>+ > >>>> /** > >>>> * Default constructor. > >>>> * @param dependency the dependency the artifact is based on > >>>>@@ -58,6 +61,11 @@ > >>>> this.dependency = dependency; > >>>> } > >>>> > >>>>+ /** @see Artifact#setSourcesFound */ > >>>>+ public void setSourcesFound() { > >>>>+ this.hasSources = true; > >>>>+ } > >>>>+ > >>>> /** @see Artifact#setDependency */ > >>>> public void setDependency( Dependency dependency ) > >>>> { > >>>>@@ -102,6 +110,31 @@ > >>>> + "/" + getDependency().getType() + "s" > >>>> + "/" + getDependency().getArtifact(); > >>>> } > >>>>+ > >>>>+ /** @see Artifact#generateSourcesPath */ > >>>>+ public String generateSourcesPath() > >>>>+ { > >>>>+ String artifactPath = getPath(); > >>>>+ int dot = artifactPath.lastIndexOf("."); > >>>>+ if (dot > 0) > >>>>+ { > >>>>+ return artifactPath.substring(0, dot) + "-src" + > >>>> > >>>> > >>>> > >>>> > >>>artifactPath.substring(dot); > >>> > >>> > >>> > >>> > >>>>+ } > >>>>+ return ""; > >>>>+ } > >>>>+ > >>>>+ /** @see Artifact#getSourcesUrlPath */ > >>>>+ public String getSourcesUrlPath() > >>>>+ { > >>>>+ String artifactPath = getUrlPath(); > >>>>+ int dot = artifactPath.lastIndexOf("."); > >>>>+ if (dot > 0) > >>>>+ { > >>>>+ return artifactPath.substring(0, dot) + "-src" + > >>>> > >>>> > >>>> > >>>> > >>>artifactPath.substring(dot); > >>> > >>> > >>> > >>> > >>>>+ } > >>>>+ return ""; > >>>>+ } > >>>>+ > >>>> > >>>> /** @see Artifact#getChecksumUrl */ > >>>> public String getChecksumUrl() > >>>>@@ -125,7 +158,11 @@ > >>>> /** @see Artifact#exists */ > >>>> public boolean exists() > >>>> { > >>>>- return getFile().exists(); > >>>>+ boolean exist = getFile().exists(); > >>>>+ if (exist && getSourceFile().exists()) { > >>>>+ setSourcesFound(); > >>>>+ } > >>>>+ return exist; > >>>> } > >>>> > >>>> /** @see Artifact#isSnapshot */ > >>>>@@ -140,6 +177,17 @@ > >>>> return new File( getPath() ); > >>>> } > >>>> > >>>>+ /** @see Artifact#getSourceFile */ > >>>>+ public File getSourceFile() > >>>>+ { > >>>>+ return new File( generateSourcesPath() ); > >>>>+ } > >>>>+ > >>>>+ /** @see Artifact#hasSources */ > >>>>+ public boolean hasSources() { > >>>>+ return this.hasSources; > >>>>+ } > >>>>+ > >>>> /** > >>>> * C H E C K S U M V E R I F I C A T I O N > >>>> * @throws ChecksumVerificationException when the checksum differs > >>>>Index: src/java/org/apache/maven/repository/Artifact.java > >>>>=================================================================== > >>>>retrieving revision 1.18.10.2 > >>>>diff -u -r1.18.10.2 Artifact.java > >>>>--- src/java/org/apache/maven/repository/Artifact.java 1 Mar 2004 > >>>> > >>>> > >>>> > >>>> > >>>22:36:39 -0000 1.18.10.2 > >>> > >>> > >>> > >>> > >>>>+++ src/java/org/apache/maven/repository/Artifact.java 29 Mar 2004 > >>>> > >>>> > >>>> > >>>> > >>>07:39:20 -0000 > >>> > >>> > >>> > >>> > >>>>@@ -68,6 +68,14 @@ > >>>> * @return The generated path of the artifact based on the > >>>> > >>>> > >dependency > > > > > >>>> > >>>> > >>>attributes. > >>> > >>> > >>> > >>> > >>>> */ > >>>> String generatePath(); > >>>>+ > >>>>+ /** > >>>>+ * Generate the path for the sources artifact given its dependency > >>>> > >>>> > >>>> > >>>> > >>>attributes. > >>> > >>> > >>> > >>> > >>>>+ * > >>>>+ * @return The generated path of the artifact sources based on the > >>>> > >>>> > >>>> > >>>> > >>>dependency > >>> > >>> > >>> > >>> > >>>>+ * attributes. > >>>>+ */ > >>>>+ String generateSourcesPath(); > >>>> > >>>> /** > >>>> * Return an URL path that is platform agnostic. > >>>>@@ -77,6 +85,13 @@ > >>>> String getUrlPath(); > >>>> > >>>> /** > >>>>+ * Return an URL path to the artifact sources that is platform > >>>> > >>>> > >>>> > >>>> > >>>agnostic. > >>> > >>> > >>> > >>> > >>>>+ * > >>>>+ * @return URL of the artifact sources. > >>>>+ */ > >>>>+ String getSourcesUrlPath(); > >>>>+ > >>>>+ /** > >>>> * Return the url to the checksum file for this artifact. > >>>> * > >>>> * @return URL of the checksum file for this artifact. > >>>>@@ -103,6 +118,20 @@ > >>>> * @return Flag indicating the existance of the artifact in the > >>>> > >>>> > >local > > > > > >>>> > >>>> > >>>repository. > >>> > >>> > >>> > >>> > >>>> */ > >>>> boolean exists(); > >>>>+ > >>>>+ /** > >>>>+ * Boolean flag indicating whether this artifact has sources. > >>>>+ * > >>>>+ * @return Flag indicating the existance of the artifact sources in > >>>> > >>>> > >>>> > >>>> > >>>the local > >>> > >>> > >>> > >>> > >>>>+ * repository. > >>>>+ */ > >>>>+ boolean hasSources(); > >>>>+ > >>>>+ /** > >>>>+ * Indicates the sources for this artifact have been found and > >>>> > >>>> > >>>> > >>>> > >>>downloaded into > >>> > >>> > >>> > >>> > >>>>+ * local repository. > >>>>+ */ > >>>>+ void setSourcesFound(); > >>>> > >>>> /** > >>>> * Get the location of the artifact in the local file system. > >>>>@@ -110,6 +139,13 @@ > >>>> * @return The location of the artifact in the local file system. > >>>> */ > >>>> File getFile(); > >>>>+ > >>>>+ /** > >>>>+ * Get the location of the artifact sources in the local file > >>>> > >>>> > >system. > > > > > >>>>+ * > >>>>+ * @return The location of the artifact sources in the local file > >>>> > >>>> > >>>> > >>>> > >>>system. > >>> > >>> > >>> > >>> > >>>>+ */ > >>>>+ File getSourceFile(); > >>>> > >>>> /** > >>>> * Verify the artifact. > >>>>Index: src/java/org/apache/maven/verifier/DependencyVerifier.java > >>>>=================================================================== > >>>>retrieving revision 1.34.4.5 > >>>>diff -u -r1.34.4.5 DependencyVerifier.java > >>>>--- src/java/org/apache/maven/verifier/DependencyVerifier.java 18 Mar > >>>> > >>>> > >2004 > > > > > >>>> > >>>> > >>>05:56:21 -0000 1.34.4.5 > >>> > >>> > >>> > >>> > >>>>+++ src/java/org/apache/maven/verifier/DependencyVerifier.java 29 Mar > >>>> > >>>> > >2004 > > > > > >>>> > >>>> > >>>07:39:20 -0000 > >>> > >>> > >>> > >>> > >>>>@@ -296,20 +296,7 @@ > >>>> > >>>> // The username and password parameters are not being > >>>> // used here. Those are the "" parameters you see below. > >>>>- String url = remoteRepo + "/" + artifact.getUrlPath(); > >>>>- url = StringUtils.replace( url, "//", "/" ); > >>>>- > >>>>- if ( !url.startsWith( "file" ) ) > >>>>- { > >>>>- if ( url.startsWith( "https" ) ) > >>>>- { > >>>>- url = StringUtils.replace( url, "https:/", > >>>> > >>>> > >>>> > >>>> > >>>"https://" ); > >>> > >>> > >>> > >>> > >>>>- } > >>>>- else > >>>>- { > >>>>- url = StringUtils.replace( url, "http:/", > >>>> > >>>> > >>>> > >>>> > >>>"http://" ); > >>> > >>> > >>> > >>> > >>>>- } > >>>>- } > >>>>+ String url = getUrlInRepo(artifact.getUrlPath(), > >>>> > >>>> > >remoteRepo); > > > > > >>>> // Attempt to retrieve the artifact and set the checksum if > >>>> > >>>> > >>>> > >>>> > >>>retrieval > >>> > >>> > >>> > >>> > >>>> // of the checksum file was successful. > >>>>@@ -361,9 +348,57 @@ > >>>> // FIXME: localize this message > >>>> log.warn("Error retrieving artifact from [" + url + "]: > >>>> > >>>> > >" > > > > > >>>> > >>>> > >>>+ e); > >>> > >>> > >>> > >>> > >>>> } > >>>>+ > >>>>+ // If found, search for the artifact sources > >>>>+ try { > >>>>+ > >>>>+ String sourcesUrl = > >>>>+ getUrlInRepo(artifact.getSourcesUrlPath(), > >>>> > >>>> > >>>> > >>>> > >>>remoteRepo); > >>> > >>> > >>> > >>> > >>>>+ log.debug( "Getting URL: " + sourcesUrl ); > >>>>+ HttpUtils.getFile( sourcesUrl, > >>>>+ artifact.getSourceFile(), > >>>>+ ignoreErrors, > >>>>+ useTimestamp, > >>>>+ > >>>> > >>>> > >>>> > >>>> > >>>getProject().getContext().getProxyHost(), > >>> > >>> > >>> > >>> > >>>>+ > >>>> > >>>> > >>>> > >>>> > >>>getProject().getContext().getProxyPort(), > >>> > >>> > >>> > >>> > >>>>+ > >>>> > >>>> > >>>> > >>>> > >>>getProject().getContext().getProxyUserName(), > >>> > >>> > >>> > >>> > >>>>+ > >>>> > >>>> > >>>> > >>>> > >>>getProject().getContext().getProxyPassword(), > >>> > >>> > >>> > >>> > >>>>+ true ); > >>>>+ artifact.setSourcesFound(); > >>>>+ } > >>>>+ catch (Exception e) > >>>>+ { > >>>>+ log.debug("No sources for artifact in this repos", e); > >>>>+ } > >>>> } > >>>> > >>>> return artifactFound; > >>>>+ } > >>>>+ > >>>>+ /** > >>>>+ * Convert the urlPath to URL for file in selected repository. > >>>>+ * > >>>>+ * @param urlPath path to convert > >>>>+ * @param remoteRepo selected repository > >>>>+ * @return url in repository > >>>>+ */ > >>>>+ private String getUrlInRepo(String urlPath, String remoteRepo) > >>>>+ { > >>>>+ String url = remoteRepo + "/" + urlPath; > >>>>+ url = StringUtils.replace( url, "//", "/" ); > >>>>+ > >>>>+ if ( !url.startsWith( "file" ) ) > >>>>+ { > >>>>+ if ( url.startsWith( "https" ) ) > >>>>+ { > >>>>+ url = StringUtils.replace( url, "https:/", > >>>> > >>>> > >"https://" ); > > > > > >>>>+ } > >>>>+ else > >>>>+ { > >>>>+ url = StringUtils.replace( url, "http:/", "http://" ); > >>>>+ } > >>>>+ } > >>>>+ return url; > >>>> } > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>> > >>> > >>> > > // ---------------------------------------------------------------------- > > > > > >>> > >>> > >>> > >>> > >>-------------------------------------------------------------------------- - > >> > >> > >- > > > > > >>>---- > >>> > >>> > >>> > >>> > >>> > >>> > >>>>Index: eclipse/src/plugin-resources/templates/classpath.jelly > >>>>=================================================================== > >>>>retrieving revision 1.9 > >>>>diff -u -r1.9 classpath.jelly > >>>>--- eclipse/src/plugin-resources/templates/classpath.jelly 4 Mar 2004 > >>>> > >>>> > >>>> > >>>> > >>>18:04:37 -0000 1.9 > >>> > >>> > >>> > >>> > >>>>+++ eclipse/src/plugin-resources/templates/classpath.jelly 29 Mar 2004 > >>>> > >>>> > >>>> > >>>> > >>>07:40:22 -0000 > >>> > >>> > >>> > >>> > >>>>@@ -114,7 +114,14 @@ > >>>> <!-- make sure it's a classpath dependency --> > >>>> <j:set var="isClasspath" > >>>> > >>>> > >>>> > >>>> > >>>value="${lib.dependency.isAddedToClasspath()}"/> > >>> > >>> > >>> > >>> > >>>> <j:if test="${isClasspath}"> > >>>>+ <j:choose> > >>>>+ <j:when test="${lib.hasSources()}"> > >>>>+ <classpathentry kind="var" path="MAVEN_REPO${lib.urlPath}" > >>>> > >>>> > >>>> > >>>> > >>>sourcepath="MAVEN_REPO${lib.urlSourcePath}"/> > >>> > >>> > >>> > >>> > >>>>+ </j:when> > >>>>+ <j:otherwise> > >>>> <classpathentry kind="var" > >>>> > >>>> > >path="MAVEN_REPO${lib.urlPath}"/> > > > > > >>>>+ </j:otherwise> > >>>>+ </j:choose> > >>>> </j:if> > >>>> </j:otherwise> > >>>> </j:choose> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>> > >>> > >>-------------------------------------------------------------------------- - > >> > >> > >- > > > > > >>>---- > >>> > >>> > >>> > >>> > >>> > >>> > >>>>--------------------------------------------------------------------- > >>>>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] > >>> > >>> > >>> > >>> > >>> > >>--------------------------------------------------------------------- > >>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] > > > > > > > > --------------------------------------------------------------------- > 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]
