Skip to content
This repository

Eclipse project files for library, reflect, fjbg & compiler #759

Merged
merged 1 commit into from almost 2 years ago

5 participants

Iulian Dragos Eugene Burmako scala-jenkins Adriaan Moors Josh Suereth
Iulian Dragos
Collaborator
dragos commented June 22, 2012

They are now in src/eclipse/. Removing the old ones from the root.

To use these project files you need to define the Eclipse path variable
SCALA_BASEDIR, in General/Workspace/Linked Resources.

These projects have proper dependencies. The compiler depends on the library project, so you
will need both in the workspace. Any changes in the library will be picked up by the compiler project. Same for asm. The Sbt builder will hopefully be smart enough to recompile only the necessary files.

Josh Suereth jsuereth commented on the diff June 22, 2012
src/eclipse/scala-library/.project
... ...
@@ -15,4 +15,16 @@
15 15
 		<nature>org.scala-ide.sdt.core.scalanature</nature>
16 16
 		<nature>org.eclipse.jdt.core.javanature</nature>
17 17
 	</natures>
  18
+	<linkedResources>
  19
+		<link>
  20
+			<name>build-quick-lib</name>
  21
+			<type>2</type>
  22
+			<locationURI>SCALA_BASEDIR/build/quick/classes/library</locationURI>
3
Josh Suereth Collaborator
jsuereth added a note June 22, 2012

Do you use ant to drive the builds?

Iulian Dragos Collaborator
dragos added a note June 22, 2012

Yes, I thought it's still the official way. Good defaults are important, so do you suggest to place it somewhere else?

I like the quick location because then I can use the quick/bin/scalac runner script to immediately test my compiler.

Adriaan Moors Owner
adriaanm added a note June 25, 2012

that's how i test my eclipse-built compiler as well

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
src/eclipse/scala-compiler/.classpath
((12 lines not shown))
10 7
 	<classpathentry kind="lib" path="lib/ant/ant.jar"/>
11  
-	<classpathentry kind="output" path="build/quick/classes/compiler"/>
  8
+	<classpathentry kind="lib" path="lib/fjbg.jar"/>
3
Josh Suereth Collaborator
jsuereth added a note June 22, 2012

Note: This is rebuilt in quick. Same for MSIL.

Iulian Dragos Collaborator
dragos added a note June 22, 2012

Ah, you're right. So fjbg.jar is not retrieved by pull-binary-libs anymore?

Josh Suereth Collaborator
jsuereth added a note June 22, 2012

It is, but it's only tied to STARR. The real FJBG source may have changed, and you'll wind up with compiler errors.

We don't need a new starr everytime FJBG source changes now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
src/eclipse/scala-compiler/.classpath
... ...
@@ -1,12 +1,13 @@
1 1
 <?xml version="1.0" encoding="UTF-8"?>
2 2
 <classpath>
3  
-	<classpathentry kind="src" path="src/compiler"/>
  3
+	<classpathentry kind="src" path="compiler"/>
  4
+	<classpathentry combineaccessrules="false" kind="src" path="/scala-library"/>
2
Josh Suereth Collaborator
jsuereth added a note June 22, 2012

Is there one of these for reflect too?

Iulian Dragos Collaborator
dragos added a note June 22, 2012

I just sent a mail to scala-internals describing my changes. I don't have a project for reflect.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Eugene Burmako
Collaborator

Can we have a README about how to use this stuff somewhere?

scala-jenkins
Collaborator

Started jenkins job pr-scala-testsuite-linux-opt at https://scala-webapps.epfl.ch/jenkins/job/pr-scala-testsuite-linux-opt/330/

Iulian Dragos
Collaborator
dragos commented June 22, 2012

@xeno-by, I sent an email to scala-internals. I'll add the README if I get at least one other person confirming that it works as intended. :)

Eugene Burmako
Collaborator
scala-jenkins
Collaborator

jenkins job pr-scala-testsuite-linux-opt: Success - https://scala-webapps.epfl.ch/jenkins/job/pr-scala-testsuite-linux-opt/330/

Iulian Dragos Added new project files for using the compiler and library inside Ecl…
…ipse and removed the old ones.

To use these project files you need to define the Eclipse 'path variable'
SCALA_BASEDIR, in General/Workspace/Linked Resources.
fd6573a
Iulian Dragos
Collaborator
dragos commented June 26, 2012

I just added a README and projects for reflect and fjbg.

Eugene Burmako
Collaborator

<3

Adriaan Moors
Owner

that looks like a LGTM to me

Adriaan Moors adriaanm merged commit 51de497 into from June 26, 2012
Adriaan Moors adriaanm closed this June 26, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Showing 1 unique commit by 1 author.

Jun 26, 2012
Iulian Dragos Added new project files for using the compiler and library inside Ecl…
…ipse and removed the old ones.

To use these project files you need to define the Eclipse 'path variable'
SCALA_BASEDIR, in General/Workspace/Linked Resources.
fd6573a
This page is out of date. Refresh to see the latest.
12  classpath.SAMPLE
... ...
@@ -1,12 +0,0 @@
1  
-<?xml version="1.0" encoding="UTF-8"?>
2  
-<classpath>
3  
-	<classpathentry kind="src" path="src/compiler"/>
4  
-	<classpathentry kind="con" path="org.scala-ide.sdt.launching.SCALA_CONTAINER"/>
5  
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
6  
-	<classpathentry kind="lib" path="lib/msil.jar"/>
7  
-	<classpathentry kind="lib" path="lib/jline.jar"/>
8  
-	<classpathentry kind="lib" path="lib/fjbg.jar"/>
9  
-	<classpathentry kind="lib" path="lib/forkjoin.jar"/>
10  
-	<classpathentry kind="lib" path="lib/ant/ant.jar"/>
11  
-	<classpathentry kind="output" path="build/quick/classes/compiler"/>
12  
-</classpath>
23  src/eclipse/README
... ...
@@ -0,0 +1,23 @@
  1
+Eclipse project files
  2
+=====================
  3
+
  4
+Import all projects inside Eclipse by choosing File/Import Existing Projects
  5
+and navigate to src/eclipse. Check all projects and click ok.
  6
+
  7
+IMPORTANT
  8
+=========
  9
+
  10
+You need to define a `path variable` inside Eclipse. Define SCALA_BASEDIR in 
  11
+Preferences/General/Workspace/Linked Resources. The value should be the absolute 
  12
+path to your scala checkout. All paths in project files are relative to this one,
  13
+so nothing will work before you do so.
  14
+
  15
+DETAILS
  16
+=======
  17
+
  18
+The compiler project depends on the library, reflect, asm and fjbg projects. The
  19
+builder will take care of the correct ordering, and changes in one project will
  20
+be picked up by the dependent projects.
  21
+
  22
+The output directory is set to be build/quick, so the runner scripts in quick
  23
+work as they are (run an ant build to have the generated once)
7  src/eclipse/asm/.classpath
... ...
@@ -0,0 +1,7 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<classpath>
  3
+	<classpathentry kind="src" path="src"/>
  4
+	<classpathentry kind="src" path="SCALA_BASEDIR"/>
  5
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
  6
+	<classpathentry kind="output" path="asm-quick-bin"/>
  7
+</classpath>
29  src/eclipse/asm/.project
... ...
@@ -0,0 +1,29 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<projectDescription>
  3
+	<name>asm</name>
  4
+	<comment></comment>
  5
+	<projects>
  6
+	</projects>
  7
+	<buildSpec>
  8
+		<buildCommand>
  9
+			<name>org.eclipse.jdt.core.javabuilder</name>
  10
+			<arguments>
  11
+			</arguments>
  12
+		</buildCommand>
  13
+	</buildSpec>
  14
+	<natures>
  15
+		<nature>org.eclipse.jdt.core.javanature</nature>
  16
+	</natures>
  17
+	<linkedResources>
  18
+		<link>
  19
+			<name>SCALA_BASEDIR</name>
  20
+			<type>2</type>
  21
+			<locationURI>SCALA_BASEDIR/src/asm</locationURI>
  22
+		</link>
  23
+		<link>
  24
+			<name>asm-quick-bin</name>
  25
+			<type>2</type>
  26
+			<locationURI>SCALA_BASEDIR/build/asm/classes</locationURI>
  27
+		</link>
  28
+	</linkedResources>
  29
+</projectDescription>
7  src/eclipse/fjbg/.classpath
... ...
@@ -0,0 +1,7 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<classpath>
  3
+	<classpathentry kind="src" path="fjbg"/>
  4
+	<classpathentry kind="con" path="org.scala-ide.sdt.launching.SCALA_CONTAINER"/>
  5
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
  6
+	<classpathentry kind="output" path="libs-classes-fjbg"/>
  7
+</classpath>
14  project.SAMPLE → src/eclipse/fjbg/.project
... ...
@@ -1,6 +1,6 @@
1 1
 <?xml version="1.0" encoding="UTF-8"?>
2 2
 <projectDescription>
3  
-	<name>scala</name>
  3
+	<name>fjbg</name>
4 4
 	<comment></comment>
5 5
 	<projects>
6 6
 	</projects>
@@ -15,4 +15,16 @@
15 15
 		<nature>org.scala-ide.sdt.core.scalanature</nature>
16 16
 		<nature>org.eclipse.jdt.core.javanature</nature>
17 17
 	</natures>
  18
+	<linkedResources>
  19
+		<link>
  20
+			<name>fjbg</name>
  21
+			<type>2</type>
  22
+			<locationURI>SCALA_BASEDIR/src/fjbg</locationURI>
  23
+		</link>
  24
+		<link>
  25
+			<name>libs-classes-fjbg</name>
  26
+			<type>2</type>
  27
+			<locationURI>SCALA_BASEDIR/build/libs/classes/fjbg</locationURI>
  28
+		</link>
  29
+	</linkedResources>
18 30
 </projectDescription>
7  src/eclipse/reflect/.classpath
... ...
@@ -0,0 +1,7 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<classpath>
  3
+	<classpathentry kind="src" path="reflect"/>
  4
+	<classpathentry kind="con" path="org.scala-ide.sdt.launching.SCALA_CONTAINER"/>
  5
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
  6
+	<classpathentry kind="output" path="build-quick-reflect"/>
  7
+</classpath>
30  src/eclipse/reflect/.project
... ...
@@ -0,0 +1,30 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<projectDescription>
  3
+	<name>reflect</name>
  4
+	<comment></comment>
  5
+	<projects>
  6
+	</projects>
  7
+	<buildSpec>
  8
+		<buildCommand>
  9
+			<name>org.scala-ide.sdt.core.scalabuilder</name>
  10
+			<arguments>
  11
+			</arguments>
  12
+		</buildCommand>
  13
+	</buildSpec>
  14
+	<natures>
  15
+		<nature>org.scala-ide.sdt.core.scalanature</nature>
  16
+		<nature>org.eclipse.jdt.core.javanature</nature>
  17
+	</natures>
  18
+	<linkedResources>
  19
+		<link>
  20
+			<name>build-quick-reflect</name>
  21
+			<type>2</type>
  22
+			<locationURI>SCALA_BASEDIR/build/quick/classes/reflect</locationURI>
  23
+		</link>
  24
+		<link>
  25
+			<name>reflect</name>
  26
+			<type>2</type>
  27
+			<locationURI>SCALA_BASEDIR/src/reflect</locationURI>
  28
+		</link>
  29
+	</linkedResources>
  30
+</projectDescription>
14  src/eclipse/scala-compiler/.classpath
... ...
@@ -0,0 +1,14 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<classpath>
  3
+	<classpathentry kind="src" path="compiler"/>
  4
+	<classpathentry combineaccessrules="false" kind="src" path="/scala-library"/>
  5
+	<classpathentry combineaccessrules="false" kind="src" path="/fjbg"/>
  6
+	<classpathentry combineaccessrules="false" kind="src" path="/asm"/>
  7
+	<classpathentry kind="con" path="org.scala-ide.sdt.launching.SCALA_CONTAINER"/>
  8
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
  9
+	<classpathentry kind="lib" path="lib/ant/ant.jar"/>
  10
+	<classpathentry kind="lib" path="lib/jline.jar"/>
  11
+	<classpathentry kind="lib" path="lib/msil.jar"/>
  12
+	<classpathentry combineaccessrules="false" kind="src" path="/reflect"/>
  13
+	<classpathentry kind="output" path="build-quick-compiler"/>
  14
+</classpath>
35  src/eclipse/scala-compiler/.project
... ...
@@ -0,0 +1,35 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<projectDescription>
  3
+	<name>scala-compiler</name>
  4
+	<comment></comment>
  5
+	<projects>
  6
+	</projects>
  7
+	<buildSpec>
  8
+		<buildCommand>
  9
+			<name>org.scala-ide.sdt.core.scalabuilder</name>
  10
+			<arguments>
  11
+			</arguments>
  12
+		</buildCommand>
  13
+	</buildSpec>
  14
+	<natures>
  15
+		<nature>org.scala-ide.sdt.core.scalanature</nature>
  16
+		<nature>org.eclipse.jdt.core.javanature</nature>
  17
+	</natures>
  18
+	<linkedResources>
  19
+		<link>
  20
+			<name>build-quick-compiler</name>
  21
+			<type>2</type>
  22
+			<locationURI>SCALA_BASEDIR/build/quick/classes/compiler</locationURI>
  23
+		</link>
  24
+		<link>
  25
+			<name>compiler</name>
  26
+			<type>2</type>
  27
+			<locationURI>SCALA_BASEDIR/src/compiler</locationURI>
  28
+		</link>
  29
+		<link>
  30
+			<name>lib</name>
  31
+			<type>2</type>
  32
+			<locationURI>SCALA_BASEDIR/lib</locationURI>
  33
+		</link>
  34
+	</linkedResources>
  35
+</projectDescription>
7  src/eclipse/scala-library/.classpath
... ...
@@ -0,0 +1,7 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<classpath>
  3
+	<classpathentry kind="src" path="library"/>
  4
+	<classpathentry kind="con" path="org.scala-ide.sdt.launching.SCALA_CONTAINER"/>
  5
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
  6
+	<classpathentry kind="output" path="build-quick-lib"/>
  7
+</classpath>
30  src/eclipse/scala-library/.project
... ...
@@ -0,0 +1,30 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<projectDescription>
  3
+	<name>scala-library</name>
  4
+	<comment></comment>
  5
+	<projects>
  6
+	</projects>
  7
+	<buildSpec>
  8
+		<buildCommand>
  9
+			<name>org.scala-ide.sdt.core.scalabuilder</name>
  10
+			<arguments>
  11
+			</arguments>
  12
+		</buildCommand>
  13
+	</buildSpec>
  14
+	<natures>
  15
+		<nature>org.scala-ide.sdt.core.scalanature</nature>
  16
+		<nature>org.eclipse.jdt.core.javanature</nature>
  17
+	</natures>
  18
+	<linkedResources>
  19
+		<link>
  20
+			<name>build-quick-lib</name>
  21
+			<type>2</type>
  22
+			<locationURI>SCALA_BASEDIR/build/quick/classes/library</locationURI>
  23
+		</link>
  24
+		<link>
  25
+			<name>library</name>
  26
+			<type>2</type>
  27
+			<locationURI>SCALA_BASEDIR/src/library</locationURI>
  28
+		</link>
  29
+	</linkedResources>
  30
+</projectDescription>
Commit_comment_tip

Tip: You can add notes to lines in a file. Hover to the left of a line to make a note

Something went wrong with that request. Please try again.