Skip to content

Commit bccdd5d

Browse files
Remove KAPT
Signed-off-by: tobiasKaminsky <[email protected]>
1 parent 6171853 commit bccdd5d

34 files changed

+1955
-13
lines changed

.devcontainer/Dockerfile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,4 @@ RUN mkdir -p "$HOME/.gradle" && \
1616
echo "org.gradle.jvmargs=-Xmx6g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC -XX:MaxMetaspaceSize=1g" > "$HOME/.gradle/gradle.properties" && \
1717
echo "org.gradle.caching=true" >> "$HOME/.gradle/gradle.properties" && \
1818
echo "org.gradle.parallel=true" >> "$HOME/.gradle/gradle.properties" && \
19-
echo "org.gradle.configureondemand=true" >> "$HOME/.gradle/gradle.properties" && \
20-
echo "kapt.incremental.apt=true" >> "$HOME/.gradle/gradle.properties"
19+
echo "org.gradle.configureondemand=true" >> "$HOME/.gradle/gradle.properties"

.github/workflows/analysis.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,5 @@ jobs:
7474
echo "org.gradle.jvmargs=-Xmx5g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC -XX:MaxMetaspaceSize=1g"
7575
echo "org.gradle.configureondemand=true"
7676
echo "org.gradle.configuration-cache=false"
77-
echo "kapt.incremental.apt=true"
7877
} > "$HOME/.gradle/gradle.properties"
7978
scripts/analysis/analysis-wrapper.sh "${{ steps.get-vars.outputs.branch }}" "${{ secrets.LOG_USERNAME }}" "${{ secrets.LOG_PASSWORD }}" "$GITHUB_RUN_NUMBER" "${{ steps.get-vars.outputs.pr }}"

.github/workflows/assembleFlavors.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,4 @@ jobs:
3535
echo "org.gradle.caching=true" >> gradle.properties
3636
echo "org.gradle.parallel=true" >> gradle.properties
3737
echo "org.gradle.configureondemand=true" >> gradle.properties
38-
echo "kapt.incremental.apt=true" >> gradle.properties
3938
./gradlew assemble${{ matrix.flavor }}

.github/workflows/qa.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
run: |
4848
mkdir -p "$HOME/.gradle"
4949
echo "org.gradle.jvmargs=-Xmx6g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC -XX:MaxMetaspaceSize=1g" > "$HOME/.gradle/gradle.properties"
50-
echo "org.gradle.caching=true; org.gradle.parallel=true; org.gradle.configureondemand=true; kapt.incremental.apt=true" >> "$HOME/.gradle/gradle.properties"
50+
echo "org.gradle.caching=true; org.gradle.parallel=true; org.gradle.configureondemand=true" >> "$HOME/.gradle/gradle.properties"
5151
sed -i "/qa/,/\}/ s/versionCode.*/versionCode = ${{ github.event.number }}/" app/build.gradle.kts
5252
sed -i "/qa/,/\}/ s/versionName.*/versionName = \"${{ github.event.number }}\"/" app/build.gradle.kts
5353
./gradlew assembleQaDebug

.github/workflows/screenShotTest.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ jobs:
7373
echo "org.gradle.caching=true" >> $HOME/.gradle/gradle.properties
7474
echo "org.gradle.parallel=true" >> $HOME/.gradle/gradle.properties
7575
echo "org.gradle.configureondemand=true" >> $HOME/.gradle/gradle.properties
76-
echo "kapt.incremental.apt=true" >> $HOME/.gradle/gradle.properties
7776
7877
- name: Build gplay
7978
run: ./gradlew assembleGenericDebug

app/build.gradle.kts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ plugins {
2424
alias(libs.plugins.android.application)
2525
alias(libs.plugins.kotlin.compose)
2626
alias(libs.plugins.spotless)
27-
alias(libs.plugins.kapt)
2827
alias(libs.plugins.ksp)
2928
alias(libs.plugins.kotlin.serialization)
3029
alias(libs.plugins.kotlin.parcelize)
@@ -243,8 +242,6 @@ android {
243242

244243
}
245244

246-
kapt.useBuildCache = true
247-
248245
ksp.arg("room.schemaLocation", "$projectDir/schemas")
249246

250247
kotlin.compilerOptions.jvmTarget.set(JvmTarget.JVM_17)
@@ -460,7 +457,6 @@ dependencies {
460457

461458
// region Markdown rendering
462459
implementation(libs.bundles.markdown.rendering)
463-
kapt(libs.prism4j.bundler)
464460
// endregion
465461

466462
// region Image cropping / rotation

app/src/main/java/com/owncloud/android/ui/preview/PreviewTextFragment.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ import io.noties.markwon.syntax.Prism4jThemeDefault
5555
import io.noties.markwon.syntax.SyntaxHighlightPlugin
5656
import io.noties.prism4j.Prism4j
5757
import io.noties.prism4j.annotations.PrismBundle
58+
import third_parties.io.noties.prism4j.languages.MarkwonGrammarLocator
5859
import javax.inject.Inject
5960

6061
@PrismBundle(
Lines changed: 209 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,209 @@
1+
/*
2+
* Nextcloud - Android Client
3+
*
4+
* SPDX-FileCopyrightText: 2025 Your Name <[email protected]>
5+
* SPDX-License-Identifier: AGPL-3.0-or-later
6+
*/
7+
8+
package third_parties.io.noties.prism4j.languages;
9+
10+
import org.jetbrains.annotations.NotNull;
11+
import org.jetbrains.annotations.Nullable;
12+
13+
import java.util.HashMap;
14+
import java.util.HashSet;
15+
import java.util.List;
16+
import java.util.Map;
17+
import java.util.Set;
18+
19+
import io.noties.prism4j.GrammarLocator;
20+
import io.noties.prism4j.Prism4j;
21+
22+
public class MarkwonGrammarLocator implements GrammarLocator {
23+
24+
@SuppressWarnings("ConstantConditions")
25+
private static final Prism4j.Grammar NULL =
26+
new Prism4j.Grammar() {
27+
@NotNull
28+
@Override
29+
public String name() {
30+
return null;
31+
}
32+
33+
@NotNull
34+
@Override
35+
public List<Prism4j.Token> tokens() {
36+
return null;
37+
}
38+
};
39+
40+
private final Map<String, Prism4j.Grammar> cache = new HashMap<>(3);
41+
42+
@Nullable
43+
@Override
44+
public Prism4j.Grammar grammar(@NotNull Prism4j prism4j, @NotNull String language) {
45+
46+
final String name = realLanguageName(language);
47+
48+
Prism4j.Grammar grammar = cache.get(name);
49+
if (grammar != null) {
50+
if (NULL == grammar) {
51+
grammar = null;
52+
}
53+
return grammar;
54+
}
55+
56+
grammar = obtainGrammar(prism4j, name);
57+
if (grammar == null) {
58+
cache.put(name, NULL);
59+
} else {
60+
cache.put(name, grammar);
61+
triggerModify(prism4j, name);
62+
}
63+
64+
return grammar;
65+
}
66+
67+
@NotNull
68+
protected String realLanguageName(@NotNull String name) {
69+
final String out;
70+
switch (name) {
71+
case "dotnet":
72+
out = "csharp";
73+
break;
74+
case "js":
75+
out = "javascript";
76+
break;
77+
case "jsonp":
78+
out = "json";
79+
break;
80+
case "xml":
81+
case "html":
82+
case "mathml":
83+
case "svg":
84+
out = "markup";
85+
break;
86+
default:
87+
out = name;
88+
}
89+
return out;
90+
}
91+
92+
@Nullable
93+
protected Prism4j.Grammar obtainGrammar(@NotNull Prism4j prism4j, @NotNull String name) {
94+
final Prism4j.Grammar grammar;
95+
switch (name) {
96+
case "c":
97+
grammar = Prism_c.create(prism4j);
98+
break;
99+
case "clike":
100+
grammar = Prism_clike.create(prism4j);
101+
break;
102+
case "clojure":
103+
grammar = Prism_clojure.create(prism4j);
104+
break;
105+
case "cpp":
106+
grammar = Prism_cpp.create(prism4j);
107+
break;
108+
case "csharp":
109+
grammar = Prism_csharp.create(prism4j);
110+
break;
111+
case "css":
112+
grammar = Prism_css.create(prism4j);
113+
break;
114+
case "dart":
115+
grammar = Prism_dart.create(prism4j);
116+
break;
117+
case "git":
118+
grammar = Prism_git.create(prism4j);
119+
break;
120+
case "go":
121+
grammar = Prism_go.create(prism4j);
122+
break;
123+
case "groovy":
124+
grammar = Prism_groovy.create(prism4j);
125+
break;
126+
case "java":
127+
grammar = Prism_java.create(prism4j);
128+
break;
129+
case "javascript":
130+
grammar = Prism_javascript.create(prism4j);
131+
break;
132+
case "json":
133+
grammar = Prism_json.create(prism4j);
134+
break;
135+
case "kotlin":
136+
grammar = Prism_kotlin.create(prism4j);
137+
break;
138+
case "latex":
139+
grammar = Prism_latex.create(prism4j);
140+
break;
141+
case "makefile":
142+
grammar = Prism_makefile.create(prism4j);
143+
break;
144+
case "markdown":
145+
grammar = Prism_markdown.create(prism4j);
146+
break;
147+
case "markup":
148+
grammar = Prism_markup.create(prism4j);
149+
break;
150+
case "python":
151+
grammar = Prism_python.create(prism4j);
152+
break;
153+
case "scala":
154+
grammar = Prism_scala.create(prism4j);
155+
break;
156+
case "sql":
157+
grammar = Prism_sql.create(prism4j);
158+
break;
159+
case "swift":
160+
grammar = Prism_swift.create(prism4j);
161+
break;
162+
case "yaml":
163+
grammar = Prism_yaml.create(prism4j);
164+
break;
165+
default:
166+
grammar = null;
167+
}
168+
return grammar;
169+
}
170+
171+
protected void triggerModify(@NotNull Prism4j prism4j, @NotNull String name) {
172+
switch (name) {
173+
case "markup":
174+
prism4j.grammar("css");
175+
prism4j.grammar("javascript");
176+
break;
177+
}
178+
}
179+
180+
@Override
181+
@NotNull
182+
public Set<String> languages() {
183+
final Set<String> set = new HashSet<String>(23);
184+
set.add("c");
185+
set.add("clike");
186+
set.add("clojure");
187+
set.add("cpp");
188+
set.add("csharp");
189+
set.add("css");
190+
set.add("dart");
191+
set.add("git");
192+
set.add("go");
193+
set.add("groovy");
194+
set.add("java");
195+
set.add("javascript");
196+
set.add("json");
197+
set.add("kotlin");
198+
set.add("latex");
199+
set.add("makefile");
200+
set.add("markdown");
201+
set.add("markup");
202+
set.add("python");
203+
set.add("scala");
204+
set.add("sql");
205+
set.add("swift");
206+
set.add("yaml");
207+
return set;
208+
}
209+
}
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
/*
2+
* Nextcloud - Android Client
3+
*
4+
* SPDX-FileCopyrightText: 2025 Your Name <[email protected]>
5+
* SPDX-License-Identifier: AGPL-3.0-or-later
6+
*/
7+
8+
package third_parties.io.noties.prism4j.languages;
9+
10+
import org.jetbrains.annotations.NotNull;
11+
12+
import io.noties.prism4j.GrammarUtils;
13+
import io.noties.prism4j.Prism4j;
14+
import io.noties.prism4j.annotations.Extend;
15+
16+
import static io.noties.prism4j.Prism4j.grammar;
17+
import static io.noties.prism4j.Prism4j.pattern;
18+
import static io.noties.prism4j.Prism4j.token;
19+
import static java.util.regex.Pattern.CASE_INSENSITIVE;
20+
import static java.util.regex.Pattern.MULTILINE;
21+
import static java.util.regex.Pattern.compile;
22+
23+
@SuppressWarnings("unused")
24+
@Extend("clike")
25+
public class Prism_c {
26+
27+
@NotNull
28+
public static Prism4j.Grammar create(@NotNull Prism4j prism4j) {
29+
30+
final Prism4j.Grammar c = GrammarUtils.extend(
31+
GrammarUtils.require(prism4j, "clike"),
32+
"c",
33+
new GrammarUtils.TokenFilter() {
34+
@Override
35+
public boolean test(@NotNull Prism4j.Token token) {
36+
final String name = token.name();
37+
return !"class-name".equals(name) && !"boolean".equals(name);
38+
}
39+
},
40+
token("keyword", pattern(compile("\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\\b"))),
41+
token("operator", pattern(compile("-[>-]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/]"))),
42+
token("number", pattern(compile("(?:\\b0x[\\da-f]+|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]*", CASE_INSENSITIVE)))
43+
);
44+
45+
GrammarUtils.insertBeforeToken(c, "string",
46+
token("macro", pattern(
47+
compile("(^\\s*)#\\s*[a-z]+(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n|[\\s\\S]))*", CASE_INSENSITIVE | MULTILINE),
48+
true,
49+
false,
50+
"property",
51+
grammar("inside",
52+
token("string", pattern(compile("(#\\s*include\\s*)(?:<.+?>|(\"|')(?:\\\\?.)+?\\2)"), true)),
53+
token("directive", pattern(
54+
compile("(#\\s*)\\b(?:define|defined|elif|else|endif|error|ifdef|ifndef|if|import|include|line|pragma|undef|using)\\b"),
55+
true,
56+
false,
57+
"keyword"
58+
))
59+
)
60+
)),
61+
token("constant", pattern(compile("\\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\\b")))
62+
);
63+
64+
return c;
65+
}
66+
}

0 commit comments

Comments
 (0)