build.gradle.kts: import script dependencies on Gradle Project sync

This commit is contained in:
Sergey Rostov
2019-08-09 18:33:28 +03:00
committed by Natalia Selezneva
parent de54e549af
commit 9f3c2d0292
18 changed files with 966 additions and 966 deletions
@@ -0,0 +1,13 @@
plugins {
kotlin("jvm")
id("jps-compatible")
}
dependencies {
compileOnly(intellijPluginDep("gradle"))
}
sourceSets {
"main" { projectDefault() }
"test" { projectDefault() }
}
@@ -0,0 +1,33 @@
/*
* Copyright 2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.gradle.tooling.model.kotlin.dsl;
import org.gradle.api.Incubating;
/**
* Position in the editor.
*
* @since 6.0
*/
@Incubating
public interface EditorPosition {
int getLine();
int getColumn();
}
@@ -0,0 +1,34 @@
/*
* Copyright 2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.gradle.tooling.model.kotlin.dsl;
import org.gradle.api.Incubating;
/**
* Report to the editor.
*
* @since 6.0
*/
@Incubating
public interface EditorReport {
EditorReportSeverity getSeverity();
String getMessage();
EditorPosition getPosition();
}
@@ -0,0 +1,31 @@
/*
* Copyright 2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.gradle.tooling.model.kotlin.dsl;
import org.gradle.api.Incubating;
/**
* Severity of an editor report.
*
* @since 6.0
*/
@Incubating
public enum EditorReportSeverity {
WARNING,
ERROR
}
@@ -0,0 +1,43 @@
/*
* Copyright 2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.gradle.tooling.model.kotlin.dsl;
import org.gradle.api.Incubating;
/**
* Parameters for Kotlin DSL models.
*
* @since 6.0
*/
@Incubating
public final class KotlinDslModelsParameters {
public static final String PREPARATION_TASK_NAME = "prepareKotlinBuildScriptModel";
public static final String CORRELATION_ID_GRADLE_PROPERTY_NAME = "org.gradle.kotlin.dsl.provider.cid";
public static final String PROVIDER_MODE_SYSTEM_PROPERTY_NAME = "org.gradle.kotlin.dsl.provider.mode";
public static final String CLASSPATH_MODE_SYSTEM_PROPERTY_VALUE = "classpath";
public static final String STRICT_CLASSPATH_MODE_SYSTEM_PROPERTY_VALUE = "strict-classpath";
public static final String CLASSPATH_MODE_SYSTEM_PROPERTY_DECLARATION = "-D" + PROVIDER_MODE_SYSTEM_PROPERTY_NAME + "=" + CLASSPATH_MODE_SYSTEM_PROPERTY_VALUE;
public static final String STRICT_CLASSPATH_MODE_SYSTEM_PROPERTY_DECLARATION = "-D" + PROVIDER_MODE_SYSTEM_PROPERTY_NAME + "=" + STRICT_CLASSPATH_MODE_SYSTEM_PROPERTY_VALUE;
}
@@ -0,0 +1,42 @@
/*
* Copyright 2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.gradle.tooling.model.kotlin.dsl;
import org.gradle.api.Incubating;
import java.io.File;
import java.util.List;
/**
* Model for a Kotlin DSL script.
*
* @since 6.0
*/
@Incubating
public interface KotlinDslScriptModel {
List<File> getClassPath();
List<File> getSourcePath();
List<String> getImplicitImports();
List<EditorReport> getEditorReports();
List<String> getExceptions();
}
@@ -0,0 +1,64 @@
/*
* Copyright 2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.gradle.tooling.model.kotlin.dsl;
import org.gradle.api.Incubating;
import java.io.File;
import java.util.Map;
/**
* Editor model for a set of Kotlin DSL scripts.
*
* Can only be requested on the root project, the builder will throw otherwise.
*
* Requires the <code>prepareKotlinBuildScriptModel</code> task to be executed before building the model.
* See {@link KotlinDslModelsParameters#PREPARATION_TASK_NAME}
*
* The set of scripts can be provided as a Gradle property named <code>org.gradle.kotlin.dsl.provider.scripts</code>,
* as a list of absolute paths separated by <code>|</code>.
* If none are provided, then the model is built for all the Kotlin DSL scripts known to belong to this build.
* See {@link KotlinDslScriptsModel#SCRIPTS_GRADLE_PROPERTY_NAME}.
*
* The Gradle Kotlin DSL script provider must be running in "classpath" mode.
* This is done by providing the system property <code>-Dorg.gradle.kotlin.dsl.provider.mode=classpath</code>.
* See {@link KotlinDslModelsParameters#CLASSPATH_MODE_SYSTEM_PROPERTY_DECLARATION}.
* In this mode, Gradle Kotlin DSL scripts compilation or evaluation failures will be ignored, collected and
* exceptions will be returned in the built model.
* Optionally, it can also be set in a strict mode by providing the system property value <code>-Dorg.gradle.kotlin.dsl.provider.mode=strict-classpath</code>.
* See {@link KotlinDslModelsParameters#STRICT_CLASSPATH_MODE_SYSTEM_PROPERTY_DECLARATION}.
*
* Optionally, an identifier can be provided as a Gradle property named <code>org.gradle.kotlin.dsl.provider.cid</code>,
* it can then be used to correlate Gradle and TAPI client log statements.
* See {@link KotlinDslModelsParameters#CORRELATION_ID_GRADLE_PROPERTY_NAME}.
*
* @since 6.0
*/
@Incubating
public interface KotlinDslScriptsModel {
/**
* Gradle property name for the set of scripts to be queried for.
*/
String SCRIPTS_GRADLE_PROPERTY_NAME = "org.gradle.tooling.model.kotlin.dsl.scripts";
/**
* Script models by file.
*/
Map<File, KotlinDslScriptModel> getScriptModels();
}