Skip to content

Commit 3a5dadc

Browse files
committed
#48 added way to define custom class through its name as action preprocessor extension
1 parent 299d282 commit 3a5dadc

23 files changed

Lines changed: 281 additions & 26 deletions

File tree

jcp-tests/jcp-test-android/app/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ dependencies {
4343
preprocess {
4444
sources = android.sourceSets.main.java.srcDirs
4545
keepComments = false
46+
actionPreprocessorExtension = "com.igormaznitsa.jcp.extension.LogPreprocessorExtension"
4647
vars = [
4748
'action.text' : 'Non-secret action!',
4849
'remove.secret': 'true'

jcp-tests/jcp-test-ant/src/test/resources/build.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
targetEncoding="UTF-8"
2121
preserveIndents="true"
2222
dontOverwriteSameContent="false"
23+
actionPreprocessorExtension="com.igormaznitsa.jcp.extension.LogPreprocessorExtension"
2324
>
2425
<excludeFolders>
2526
<folder>**/excluded1</folder>

jcp-tests/jcp-test-gradle-5/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ preprocess {
5656
allowWhitespaces = true
5757
preserveIndents = true
5858
dontOverwriteSameContent = false
59+
actionPreprocessorExtension = "com.igormaznitsa.jcp.extension.LogPreprocessorExtension"
5960
vars = ['some.test.global': 'Some Test Global Value']
6061
}
6162
task(changeSourceFolder) {

jcp-tests/jcp-test-gradle-6/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ preprocess {
5656
allowWhitespaces = true
5757
preserveIndents = true
5858
dontOverwriteSameContent = false
59+
actionPreprocessorExtension = "com.igormaznitsa.jcp.extension.LogPreprocessorExtension"
5960
vars = ['some.test.global': 'Some Test Global Value']
6061
}
6162
task(changeSourceFolder) {

jcp-tests/jcp-test-gradle-7/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ preprocess {
5656
allowWhitespaces = true
5757
preserveIndents = true
5858
dontOverwriteSameContent = false
59+
actionPreprocessorExtension = "com.igormaznitsa.jcp.extension.LogPreprocessorExtension"
5960
vars = ['some.test.global': 'Some Test Global Value']
6061
}
6162
task(changeSourceFolder) {

jcp-tests/jcp-test-gradle-8/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ preprocess {
5656
allowWhitespaces = true
5757
preserveIndents = true
5858
dontOverwriteSameContent = false
59+
actionPreprocessorExtension = "com.igormaznitsa.jcp.extension.LogPreprocessorExtension"
5960
vars = ['some.test.global': 'Some Test Global Value']
6061
}
6162
task(changeSourceFolder) {

jcp-tests/jcp-test-maven/pom.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@
4747
<vars>
4848
<some.test.global>Some Test Global Value</some.test.global>
4949
</vars>
50+
<actionPreprocessorExtension>com.igormaznitsa.jcp.extension.LogPreprocessorExtension
51+
</actionPreprocessorExtension>
5052
<sourceEncoding>UTF-8</sourceEncoding>
5153
<targetEncoding>UTF-8</targetEncoding>
5254
<ignoreMissingSources>false</ignoreMissingSources>

jcp-tests/jcp-test-maven/src/main/java/com/igormaznitsa/jcp/it/maven/Main.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
//$public class MainTwo {
55
//#//
6+
//#action 1,2,3
67
public class Main {
78

89
//$$public MainTwo(){
@@ -25,6 +26,7 @@ public Main(){
2526
}
2627
}
2728

29+
//#action $hello1("getProperty")
2830
public String getProperty() {
2931
return "/*$mvn.project.property.my.custom.property$*/";
3032
}

jcp/src/main/java/com/igormaznitsa/jcp/JcpPreprocessor.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import static com.igormaznitsa.jcp.utils.PreprocessorUtils.readWholeTextFileIntoArray;
2626
import static com.igormaznitsa.jcp.utils.PreprocessorUtils.throwPreprocessorException;
2727

28+
import com.igormaznitsa.jcp.cmdline.ActionPreprocessorExtensionHandler;
2829
import com.igormaznitsa.jcp.cmdline.AllowWhitespaceDirectiveHandler;
2930
import com.igormaznitsa.jcp.cmdline.CareForLastEolHandler;
3031
import com.igormaznitsa.jcp.cmdline.ClearTargetHandler;
@@ -104,6 +105,7 @@ public final class JcpPreprocessor {
104105
new PreserveIndentDirectiveHandler(),
105106
new ExcludeFoldersHandler(),
106107
new KeepAttributesHandler(),
108+
new ActionPreprocessorExtensionHandler(),
107109
new UnknownAsFalseHandler()
108110
};
109111
private final PreprocessorContext context;

jcp/src/main/java/com/igormaznitsa/jcp/ant/PreprocessTask.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ public class PreprocessTask extends Task implements PreprocessorLogger, SpecialV
7878
private boolean allowWhitespaces = false;
7979
private boolean preserveIndents = false;
8080
private boolean dontOverwriteSameContent = false;
81+
private String actionPreprocessorExtension = null;
8182
private Map<String, Value> antVariables = new HashMap<>();
8283

8384
private void registerConfigFiles(final PreprocessorContext context) {
@@ -169,6 +170,13 @@ PreprocessorContext makePreprocessorContext() {
169170
);
170171
}
171172

173+
if (this.getActionPreprocessorExtension() != null) {
174+
info("Instantiating action preprocessor extension: " + this.getActionPreprocessorExtension());
175+
context.setPreprocessorExtension(
176+
PreprocessorUtils.findAndInstantiatePreprocessorExtensionForClassName(
177+
this.getActionPreprocessorExtension().trim()));
178+
}
179+
172180
this.registerConfigFiles(context);
173181
this.fillGlobalVars(context);
174182

0 commit comments

Comments
 (0)