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]

Reply via email to