Attach existing sources to "Referenced libraries" in Eclipse

Patch by Mikhail Stepura; reviewed by tjake for CASSANDRA-8240


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0bc1ea38
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0bc1ea38
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0bc1ea38

Branch: refs/heads/trunk
Commit: 0bc1ea385e739c4fdcb3d372b7863570d5b83f10
Parents: a6c58f8
Author: Mikhail Stepura <[email protected]>
Authored: Sat Nov 1 10:19:50 2014 -0700
Committer: T Jake Luciani <[email protected]>
Committed: Tue Nov 4 09:34:05 2014 -0500

----------------------------------------------------------------------
 build.xml | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0bc1ea38/build.xml
----------------------------------------------------------------------
diff --git a/build.xml b/build.xml
index 29e4121..e94ded8 100644
--- a/build.xml
+++ b/build.xml
@@ -1522,13 +1522,22 @@
         </fileset>
        </path>
        <property name="eclipse-project-libs" 
refid="eclipse-project-libs-path"/>
-       <script language="javascript"> <![CDATA[
+       <script language="javascript" classpathref="cassandra.classpath"> 
<![CDATA[
                var File = java.io.File;
+               var FilenameUtils = 
Packages.org.apache.commons.io.FilenameUtils;
                jars = 
project.getProperty("eclipse-project-libs").split(project.getProperty("path.separator"));
                
                cp = "";
            for (i=0; i< jars.length; i++) {
-              cp += ' <classpathentry kind="lib" path="'+jars[i]+'"/>\n';
+              srcjar = FilenameUtils.getBaseName(jars[i]) + '-sources.jar';
+                  srcdir = 
FilenameUtils.concat(project.getProperty("build.dir.lib"), 'sources');
+                  srcfile = new File(FilenameUtils.concat(srcdir, srcjar));
+               
+                  cp += ' <classpathentry kind="lib" path="' + jars[i] + '"';
+                  if (srcfile.exists()) {
+                     cp += ' sourcepath="' + srcfile.getAbsolutePath() + '"';
+                  }
+                  cp += '/>\n';
                }
                
                cp += '</classpath>';

Reply via email to