2 * Copyright © 2017-2018 AT&T Intellectual Property.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package org.onap.ccsdk.apps.controllerblueprints.scripts
20 import kotlin.script.experimental.annotations.KotlinScript
21 import kotlin.script.experimental.api.ScriptCompilationConfiguration
22 import kotlin.script.experimental.api.SourceCode
23 import kotlin.script.experimental.api.defaultImports
24 import kotlin.script.experimental.jvm.jvm
25 import kotlin.script.experimental.jvm.util.classpathFromClassloader
28 fileExtension = "cba.kts",
29 compilationConfiguration = BluePrintScripCompilationConfiguration::class,
30 displayName = "Controller Blueprint Archive Kotlin Scripts"
32 abstract class BluePrintKotlinScript
34 object BluePrintScripCompilationConfiguration : ScriptCompilationConfiguration(
37 "org.onap.ccsdk.apps.controllerblueprints.core.*",
38 "org.onap.ccsdk.apps.controllerblueprints.core.data.*",
39 "org.onap.ccsdk.apps.controllerblueprints.core.interfaces.*",
40 "org.onap.ccsdk.apps.controllerblueprints.core.services.*",
41 "org.onap.ccsdk.apps.controllerblueprints.core.utils.*")
43 classpathFromClassloader(BluePrintScripCompilationConfiguration::class.java.classLoader)
48 open class BluePrintSourceCode : SourceCode {
49 lateinit var blueprintKotlinSources: MutableList<String>
50 lateinit var moduleName: String
51 lateinit var targetJarFile: File
52 var regenerate: Boolean = false
54 override val text: String
57 override val locationId: String? = null
59 override val name: String?