Supported properties in partial compilation of package.

Original commit: 733de56178
This commit is contained in:
Evgeny Gerashchenko
2014-02-19 22:17:32 +04:00
parent e676bd841d
commit 06cb6eb030
5 changed files with 32 additions and 4 deletions
@@ -17,10 +17,12 @@
package org.jetbrains.jet.jps.build; package org.jetbrains.jet.jps.build;
import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.io.FileUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.utils.PathUtil; import org.jetbrains.jet.utils.PathUtil;
import org.jetbrains.jps.builders.JpsBuildTestCase; import org.jetbrains.jps.builders.JpsBuildTestCase;
import org.jetbrains.jps.model.JpsDummyElement; import org.jetbrains.jps.model.JpsDummyElement;
import org.jetbrains.jps.model.JpsModuleRootModificationUtil; import org.jetbrains.jps.model.JpsModuleRootModificationUtil;
import org.jetbrains.jps.model.JpsProject;
import org.jetbrains.jps.model.java.JpsAnnotationRootType; import org.jetbrains.jps.model.java.JpsAnnotationRootType;
import org.jetbrains.jps.model.java.JpsJavaDependencyScope; import org.jetbrains.jps.model.java.JpsJavaDependencyScope;
import org.jetbrains.jps.model.java.JpsJavaLibraryType; import org.jetbrains.jps.model.java.JpsJavaLibraryType;
@@ -76,11 +78,15 @@ public abstract class AbstractKotlinJpsBuildTestCase extends JpsBuildTestCase {
} }
protected JpsLibrary addKotlinRuntimeDependency() { protected JpsLibrary addKotlinRuntimeDependency() {
return addKotlinRuntimeDependency(JpsJavaDependencyScope.COMPILE, myProject.getModules(), false); return addKotlinRuntimeDependency(myProject);
} }
protected JpsLibrary addKotlinRuntimeDependency(JpsJavaDependencyScope type, Collection<JpsModule> modules, boolean exported) { static JpsLibrary addKotlinRuntimeDependency(@NotNull JpsProject project) {
JpsLibrary library = myProject.addLibrary("kotlin-runtime", JpsJavaLibraryType.INSTANCE); return addKotlinRuntimeDependency(JpsJavaDependencyScope.COMPILE, project.getModules(), false);
}
protected static JpsLibrary addKotlinRuntimeDependency(JpsJavaDependencyScope type, Collection<JpsModule> modules, boolean exported) {
JpsLibrary library = modules.iterator().next().getProject().addLibrary("kotlin-runtime", JpsJavaLibraryType.INSTANCE);
File runtime = PathUtil.getKotlinPathsForDistDirectory().getRuntimePath(); File runtime = PathUtil.getKotlinPathsForDistDirectory().getRuntimePath();
library.addRoot(runtime, JpsOrderRootType.COMPILED); library.addRoot(runtime, JpsOrderRootType.COMPILED);
for (JpsModule module : modules) { for (JpsModule module : modules) {
@@ -65,6 +65,7 @@ public class IncrementalJpsTest : JpsBuildTestCase() {
private fun doTest() { private fun doTest() {
addModule("module", array<String>(getAbsolutePath("src")), null, null, addJdk("my jdk")) addModule("module", array<String>(getAbsolutePath("src")), null, null, addJdk("my jdk"))
AbstractKotlinJpsBuildTestCase.addKotlinRuntimeDependency(myProject!!)
buildGetLog() buildGetLog()
@@ -7,3 +7,6 @@ fun foo() {
fun baz() { fun baz() {
} }
val prop1 = ""
val prop2 = prop1
@@ -7,3 +7,6 @@ fun foo() {
fun baz() { fun baz() {
} }
val prop1 = ""
val prop2 = prop1
@@ -1,9 +1,24 @@
package test package test
fun bar(i: Int): String { fun bar(i: Int): String {
simpleVar = ":) " + simpleVar
return "$i ${quux()} $i" return "$i ${quux()} $i"
} }
fun quux(): String { fun quux(): String {
return "quux" return "quux"
} }
var simpleVar = prop1
var fieldlessVar: String
get() = ""
set(value) {}
deprecated("")
val fieldlessValWithAnnotation: String
get() = ""
var delegated: String by kotlin.properties.Delegates.notNull()