[Build scripts] implement possibility to add "skip" statement to Zkm open command.

IJ-CR-104329

GitOrigin-RevId: 06ebb715b1c4b7c4f4bc689bd33557c2f484c9d4
This commit is contained in:
Andrey Vokin
2023-03-08 17:12:54 +00:00
committed by intellij-monorepo-bot
parent 7a8884dbd3
commit 3a16fbea3d
@@ -49,6 +49,9 @@ class PluginLayout private constructor(val mainModule: String, mainJarNameWithou
var pathsToScramble: PersistentList<String> = persistentListOf()
private set
var scrambleSkipStatements: PersistentList<Pair<String, String>> = persistentListOf()
private set
var scrambleClasspathPlugins: PersistentList<Pair<String /*plugin name*/, String /*relative path*/>> = persistentListOf()
private set
@@ -334,6 +337,18 @@ class PluginLayout private constructor(val mainModule: String, mainJarNameWithou
layout.scrambleClasspathFilter = filter
}
/**
* Adds a "skip" element to the open statement. See: [Open Statement documentation](https://www.zelix.com/klassmaster/docs/openStatement.html)
*
* Note: zkm open statement for the jar must be declared.
*
* @param jar - name of the jar file
* @param classFilter - in the following format: `com/mycompany/MyClass.class`
*/
fun scrambleSkip(jar: String, classFilter: String) {
layout.scrambleSkipStatements += Pair(jar, classFilter)
}
/**
* Concatenates `META-INF/services` files with the same name from different modules together.
* By default, the first service file silently wins.