@jetstart/cli 2.0.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/utils/template.d.ts.map +1 -1
- package/dist/utils/template.js +5 -4
- package/dist/utils/template.js.map +1 -1
- package/maven-repo/com/jetstart/hot-reload/com.jetstart.hot-reload.gradle.plugin/maven-metadata.xml +1 -1
- package/maven-repo/com/jetstart/hot-reload/com.jetstart.hot-reload.gradle.plugin/maven-metadata.xml.md5 +1 -1
- package/maven-repo/com/jetstart/hot-reload/com.jetstart.hot-reload.gradle.plugin/maven-metadata.xml.sha1 +1 -1
- package/maven-repo/com/jetstart/hot-reload/com.jetstart.hot-reload.gradle.plugin/maven-metadata.xml.sha256 +1 -1
- package/maven-repo/com/jetstart/hot-reload/com.jetstart.hot-reload.gradle.plugin/maven-metadata.xml.sha512 +1 -1
- package/maven-repo/com/jetstart/hot-reload-runtime/maven-metadata.xml +1 -1
- package/maven-repo/com/jetstart/hot-reload-runtime/maven-metadata.xml.md5 +1 -1
- package/maven-repo/com/jetstart/hot-reload-runtime/maven-metadata.xml.sha1 +1 -1
- package/maven-repo/com/jetstart/hot-reload-runtime/maven-metadata.xml.sha256 +1 -1
- package/maven-repo/com/jetstart/hot-reload-runtime/maven-metadata.xml.sha512 +1 -1
- package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.jar +0 -0
- package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.jar.md5 +1 -1
- package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.jar.sha1 +1 -1
- package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.jar.sha256 +1 -1
- package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.jar.sha512 +1 -1
- package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.module +8 -8
- package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.module.md5 +1 -1
- package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.module.sha1 +1 -1
- package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.module.sha256 +1 -1
- package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.module.sha512 +1 -1
- package/maven-repo/com/jetstart/jetstart-gradle-plugin/maven-metadata.xml +1 -1
- package/maven-repo/com/jetstart/jetstart-gradle-plugin/maven-metadata.xml.md5 +1 -1
- package/maven-repo/com/jetstart/jetstart-gradle-plugin/maven-metadata.xml.sha1 +1 -1
- package/maven-repo/com/jetstart/jetstart-gradle-plugin/maven-metadata.xml.sha256 +1 -1
- package/maven-repo/com/jetstart/jetstart-gradle-plugin/maven-metadata.xml.sha512 +1 -1
- package/package.json +5 -4
- package/scripts/build-java.js +12 -8
- package/template/base/README.md +34 -0
- package/template/base/app/build.gradle +80 -0
- package/template/base/app/proguard-rules.pro +33 -0
- package/template/base/app/src/main/AndroidManifest.xml +33 -0
- package/template/base/app/src/main/java/__PACKAGE_PATH__/MainActivity.kt +64 -0
- package/template/base/app/src/main/java/__PACKAGE_PATH__/data/AppDatabase.kt +46 -0
- package/template/base/app/src/main/java/__PACKAGE_PATH__/data/Note.kt +12 -0
- package/template/base/app/src/main/java/__PACKAGE_PATH__/data/NoteDao.kt +23 -0
- package/template/base/app/src/main/java/__PACKAGE_PATH__/logic/TaggingEngine.kt +26 -0
- package/template/base/app/src/main/java/__PACKAGE_PATH__/ui/NotesScreen.kt +185 -0
- package/template/base/app/src/main/java/__PACKAGE_PATH__/ui/NotesViewModel.kt +58 -0
- package/template/base/app/src/main/java/__PACKAGE_PATH__/ui/TestScreen.kt +12 -0
- package/template/base/app/src/main/res/values/colors.xml +10 -0
- package/template/base/app/src/main/res/values/strings.xml +4 -0
- package/template/base/app/src/main/res/values/themes.xml +9 -0
- package/template/base/app/src/main/res/xml/network_security_config.xml +8 -0
- package/template/base/app/src/main/res/xml/provider_paths.xml +4 -0
- package/template/base/build.gradle +28 -0
- package/template/base/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/template/base/gradle/wrapper/gradle-wrapper.properties +7 -0
- package/template/base/gradle.properties +13 -0
- package/template/base/gradlew +248 -0
- package/template/base/gradlew.bat +92 -0
- package/template/base/jetstart.config.json +11 -0
- package/template/base/settings.gradle +20 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/utils/template.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/utils/template.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AA8P3C;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAoBf"}
|
package/dist/utils/template.js
CHANGED
|
@@ -43,10 +43,11 @@ function buildVariableMap(options) {
|
|
|
43
43
|
* same relative traversal works.
|
|
44
44
|
*/
|
|
45
45
|
function getTemplateDir() {
|
|
46
|
-
// __dirname
|
|
47
|
-
//
|
|
48
|
-
//
|
|
49
|
-
|
|
46
|
+
// Published: __dirname = .../node_modules/@jetstart/cli/dist/utils
|
|
47
|
+
// 2 levels up = @jetstart/cli root → template/base ✅
|
|
48
|
+
// Local dev: __dirname = packages/cli/dist/utils or src/utils
|
|
49
|
+
// 2 levels up = packages/cli → template/base ✅
|
|
50
|
+
return path_1.default.resolve(__dirname, '..', '..', 'template', 'base');
|
|
50
51
|
}
|
|
51
52
|
/**
|
|
52
53
|
* Known binary/non-text extensions that should be copied without substitution.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/utils/template.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/utils/template.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;AA2QH,0DAuBC;AAhSD,gDAAwB;AACxB,wDAA0B;AAC1B,iDAAsC;AAEtC,6CAAmF;AAEnF,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAAwB;IAChD,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAEnE,OAAO;QACL,kBAAkB,EAAE,OAAO,CAAC,WAAW;QACvC,kBAAkB,EAAE,OAAO,CAAC,WAAW;QACvC,gBAAgB,EAAE,SAAS;QAC3B,aAAa,EAAE,MAAM,CAAC,8BAAqB,CAAC;QAC5C,gBAAgB,EAAE,MAAM,CAAC,iCAAwB,CAAC;KACnD,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;;;;;GAMG;AACH,SAAS,cAAc;IACrB,oEAAoE;IACpE,iEAAiE;IACjE,+DAA+D;IAC/D,2DAA2D;IAC3D,OAAO,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,QAAQ;CACT,CAAC,CAAC;AAEH;;GAEG;AACH,SAAS,UAAU,CAAC,QAAgB;IAClC,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAAe,EAAE,SAAiC;IAC1E,IAAI,MAAM,GAAG,OAAO,CAAC;IACrB,KAAK,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7D,sDAAsD;QACtD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,IAAa;IAC/C,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,CAAC;IACzB,MAAM,OAAO,GAAG,MAAM,kBAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,cAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E;;GAEG;AACH,KAAK,UAAU,yBAAyB,CACtC,WAAmB,EACnB,WAAmB,EACnB,SAAiC,EACjC,WAAmB;IAEnB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzC,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAEhD,sDAAsD;QACtD,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAErD,0CAA0C;QAC1C,MAAM,kBAAE,CAAC,SAAS,CAAC,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE3C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,8BAA8B;YAC9B,MAAM,GAAG,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAChD,+DAA+D;YAC/D,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAClE,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACvD,MAAM,kBAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,2BAA2B;YAC3B,MAAM,kBAAE,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,8DAA8D;AAC9D,+EAA+E;AAE/E;;GAEG;AACH,KAAK,UAAU,sBAAsB,CACnC,WAAmB,EACnB,OAAwB;IAExB,MAAM,MAAM,GAAG;QACb,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE;YACR,OAAO,EAAE,OAAO;YAChB,eAAe,EAAE,IAAI;YACrB,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,IAAI;SACX;KACF,CAAC;IAEF,MAAM,kBAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,sBAAsB,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,qBAAqB,CAAC,WAAmB;IACtD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;QAEzE,MAAM,aAAa,GAAG,IAAA,qBAAK,EAAC,SAAS,EAAE,CAAC,SAAS,EAAE,kBAAkB,EAAE,KAAK,CAAC,EAAE;YAC7E,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,2BAA2B;QAC3B,UAAU,CAAC,GAAG,EAAE;YACd,aAAa,CAAC,IAAI,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,uBAAuB,CAAC,WAAmB;IACxD,IAAI,cAAkC,CAAC;IAEvC,oCAAoC;IACpC,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAE1E,+CAA+C;IAC/C,IAAI,CAAC,cAAc,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACpD,MAAM,WAAW,GAAG;YAClB,aAAa;YACb,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC;YACxE,kBAAkB;YAClB,+CAA+C;SAChD,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,IAAI,kBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,cAAc,GAAG,CAAC,CAAC;gBACnB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,IAAI,CAAC,cAAc,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACpD,MAAM,WAAW,GAAG;YAClB,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC;YACpD,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC;YAC/D,kBAAkB;SACnB,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,IAAI,kBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,cAAc,GAAG,CAAC,CAAC;gBACnB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CACV,wGAAwG,CACzG,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG;UACR,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;CAC9C,CAAC;IAEA,MAAM,kBAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,EAAE,OAAO,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,iDAAiD,cAAc,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;;;GAOG;AACI,KAAK,UAAU,uBAAuB,CAC3C,WAAmB,EACnB,OAAwB;IAExB,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,qCAAqC;IACrC,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,iCAAiC,WAAW,IAAI,GAAG,2CAA2C,CAC/F,CAAC;IACJ,CAAC;IAED,qBAAqB;IACrB,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE5C,0EAA0E;IAC1E,MAAM,yBAAyB,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAE1F,4BAA4B;IAC5B,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,sBAAsB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
0cc20ff682c3562a6282f17395b6e634
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
d1a45ef7a3e264764386c2ae1015ec245c8663b5
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
c6c753e28984b67c0b635fa2ac5c2259849ea112e4e9d44861aee910ac37f611
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
cd114e7b117cf607f1eaa322672cd803efc513165bff887e6a0dd6c7a627971c95518107bc5279a1ce73d16a3da008114c00daf5c0704bd45ba3a552841c936a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
cc186f67d06c32373ec97fd622073b07
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
c417da0887fe8d43462e743fe0b8e85f19b7cfa3
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
037a8430a4856207dc4381ea49662d8107292c2d24e0407e9114191e765b85e5
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
a8be936bf9b8faddf18ec890b91781dddf4b5728c0d332134426983ce444723018e36c61940b8a34eb7261cbcf4a541df2c6eb1650a90237f97173d49ad47124
|
package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.jar
CHANGED
|
Binary file
|
package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.jar.md5
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
4ecb99d6edbdaf2960600c1563cf100f
|
package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.jar.sha1
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
bf54cf2e3883c163ce95e0ec30e549f7f474393e
|
package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.jar.sha256
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
518f98f1ed99f4e1da289d9733a0efa17dfc0f170842391caa5f0554f4c1d818
|
package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.jar.sha512
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
8fe4c9bffb4538338fbd574599c7b53a9e9952841bcee9233851982c6afa929851dc5bfa0330c7f35abd36ece6e8d4763939658e06fbdb746bc036620051f9b1
|
package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.module
CHANGED
|
@@ -39,10 +39,10 @@
|
|
|
39
39
|
"name": "jetstart-gradle-plugin-1.0.0.jar",
|
|
40
40
|
"url": "jetstart-gradle-plugin-1.0.0.jar",
|
|
41
41
|
"size": 19006,
|
|
42
|
-
"sha512": "
|
|
43
|
-
"sha256": "
|
|
44
|
-
"sha1": "
|
|
45
|
-
"md5": "
|
|
42
|
+
"sha512": "8fe4c9bffb4538338fbd574599c7b53a9e9952841bcee9233851982c6afa929851dc5bfa0330c7f35abd36ece6e8d4763939658e06fbdb746bc036620051f9b1",
|
|
43
|
+
"sha256": "518f98f1ed99f4e1da289d9733a0efa17dfc0f170842391caa5f0554f4c1d818",
|
|
44
|
+
"sha1": "bf54cf2e3883c163ce95e0ec30e549f7f474393e",
|
|
45
|
+
"md5": "4ecb99d6edbdaf2960600c1563cf100f"
|
|
46
46
|
}
|
|
47
47
|
]
|
|
48
48
|
},
|
|
@@ -92,10 +92,10 @@
|
|
|
92
92
|
"name": "jetstart-gradle-plugin-1.0.0.jar",
|
|
93
93
|
"url": "jetstart-gradle-plugin-1.0.0.jar",
|
|
94
94
|
"size": 19006,
|
|
95
|
-
"sha512": "
|
|
96
|
-
"sha256": "
|
|
97
|
-
"sha1": "
|
|
98
|
-
"md5": "
|
|
95
|
+
"sha512": "8fe4c9bffb4538338fbd574599c7b53a9e9952841bcee9233851982c6afa929851dc5bfa0330c7f35abd36ece6e8d4763939658e06fbdb746bc036620051f9b1",
|
|
96
|
+
"sha256": "518f98f1ed99f4e1da289d9733a0efa17dfc0f170842391caa5f0554f4c1d818",
|
|
97
|
+
"sha1": "bf54cf2e3883c163ce95e0ec30e549f7f474393e",
|
|
98
|
+
"md5": "4ecb99d6edbdaf2960600c1563cf100f"
|
|
99
99
|
}
|
|
100
100
|
]
|
|
101
101
|
}
|
package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.module.md5
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
a342b7278beb0dc55d876963416739a5
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
cca2ad84c719283621076e287bef74b64b72cf80
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
2e1848a4bda7d5e74003c7edb9b0fd2a91da314b5d698ec6a373ede744401e95
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
fcc731791ceddfa3b3eaff5769b163f4a84b2b287284f228f65cd89402b837cb7b974d73e828d7a9afc311a3a9ffc5af61e63b65d9c9528bb22b424708aac277
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
3b612eac7357703b7ce91ce3a9303333
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
6a905931700bedee124e58743f63c2e783a26dbc
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
bb630df9e60e88259b9e590f695cea99600ab2defd3d38bd7ffe290c7ae261cd
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
66bb6ec8ebce912ee3a3db1066d54d94deabb54c948ab4c0e21ed28c2a3d304fdea7abf2434de4cdab83432fd0eae34291ac54e48df0d00b17fd814b2c959207
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jetstart/cli",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.2",
|
|
4
4
|
"description": "Command-line interface for JetStart",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -30,7 +30,8 @@
|
|
|
30
30
|
"bin",
|
|
31
31
|
"dist",
|
|
32
32
|
"maven-repo",
|
|
33
|
-
"scripts"
|
|
33
|
+
"scripts",
|
|
34
|
+
"template"
|
|
34
35
|
],
|
|
35
36
|
"author": "Phantom",
|
|
36
37
|
"license": "MIT",
|
|
@@ -44,8 +45,8 @@
|
|
|
44
45
|
},
|
|
45
46
|
"homepage": "https://github.com/dev-phantom/jetstart#readme",
|
|
46
47
|
"dependencies": {
|
|
47
|
-
"@jetstart/core": "^2.0.
|
|
48
|
-
"@jetstart/shared": "^2.0.
|
|
48
|
+
"@jetstart/core": "^2.0.2",
|
|
49
|
+
"@jetstart/shared": "^2.0.2",
|
|
49
50
|
"axios": "^1.6.2",
|
|
50
51
|
"chalk": "^4.1.2",
|
|
51
52
|
"commander": "^11.1.0",
|
package/scripts/build-java.js
CHANGED
|
@@ -3,28 +3,32 @@ const os = require('os');
|
|
|
3
3
|
const path = require('path');
|
|
4
4
|
|
|
5
5
|
const isWin = os.platform() === 'win32';
|
|
6
|
-
|
|
6
|
+
|
|
7
|
+
// __dirname = packages/cli/scripts → ../template/base/gradlew[.bat]
|
|
8
|
+
const gradlewAbs = isWin
|
|
9
|
+
? path.resolve(__dirname, '..', 'template', 'base', 'gradlew.bat')
|
|
10
|
+
: path.resolve(__dirname, '..', 'template', 'base', 'gradlew');
|
|
7
11
|
|
|
8
12
|
console.log('Building and publishing Java packages locally...');
|
|
9
13
|
|
|
10
14
|
try {
|
|
11
15
|
if (!isWin) {
|
|
12
|
-
execSync(`chmod +x ${
|
|
16
|
+
execSync(`chmod +x "${gradlewAbs}"`);
|
|
13
17
|
}
|
|
14
|
-
console.log('
|
|
15
|
-
execSync(
|
|
18
|
+
console.log('\n[1/2] Publishing hot-reload-runtime...');
|
|
19
|
+
execSync(`"${gradlewAbs}" publish`, {
|
|
16
20
|
cwd: path.resolve(__dirname, '../../hot-reload-runtime'),
|
|
17
21
|
stdio: 'inherit'
|
|
18
22
|
});
|
|
19
23
|
|
|
20
|
-
console.log('
|
|
21
|
-
execSync(
|
|
24
|
+
console.log('\n[2/2] Publishing gradle-plugin...');
|
|
25
|
+
execSync(`"${gradlewAbs}" publish`, {
|
|
22
26
|
cwd: path.resolve(__dirname, '../../gradle-plugin'),
|
|
23
27
|
stdio: 'inherit'
|
|
24
28
|
});
|
|
25
29
|
|
|
26
|
-
console.log('
|
|
30
|
+
console.log('\nSuccessfully bundled Java dependencies into packages/cli/maven-repo!');
|
|
27
31
|
} catch (error) {
|
|
28
|
-
console.error('
|
|
32
|
+
console.error('\nFailed to build Java packages:', error.message);
|
|
29
33
|
process.exit(1);
|
|
30
34
|
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# {{PROJECT_NAME}}
|
|
2
|
+
|
|
3
|
+
A JetStart project with Kotlin and Jetpack Compose.
|
|
4
|
+
|
|
5
|
+
## Getting Started
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Start development server
|
|
9
|
+
jetstart dev
|
|
10
|
+
|
|
11
|
+
# Build production APK
|
|
12
|
+
jetstart build
|
|
13
|
+
|
|
14
|
+
# View logs
|
|
15
|
+
jetstart logs
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Project Structure
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
{{PROJECT_NAME}}/
|
|
22
|
+
├── app/
|
|
23
|
+
│ └── src/
|
|
24
|
+
│ └── main/
|
|
25
|
+
│ ├── java/ # Kotlin source files
|
|
26
|
+
│ └── res/ # Resources
|
|
27
|
+
├── jetstart.config.json # JetStart configuration
|
|
28
|
+
└── build.gradle # Gradle build file
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Learn More
|
|
32
|
+
|
|
33
|
+
- [JetStart Documentation](https://github.com/phantom/jetstart)
|
|
34
|
+
- [Jetpack Compose](https://developer.android.com/jetpack/compose)
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
plugins {
|
|
2
|
+
id 'com.android.application'
|
|
3
|
+
id 'org.jetbrains.kotlin.android'
|
|
4
|
+
id 'com.google.devtools.ksp'
|
|
5
|
+
id 'com.jetstart.hot-reload' version '1.0.0' // True hot reload instrumentation
|
|
6
|
+
id 'org.jetbrains.kotlin.plugin.compose'
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
android {
|
|
10
|
+
namespace '{{PACKAGE_NAME}}'
|
|
11
|
+
compileSdk 34
|
|
12
|
+
|
|
13
|
+
defaultConfig {
|
|
14
|
+
applicationId "{{PACKAGE_NAME}}"
|
|
15
|
+
minSdk 24
|
|
16
|
+
targetSdk 34
|
|
17
|
+
versionCode 1
|
|
18
|
+
versionName "1.0.0"
|
|
19
|
+
|
|
20
|
+
// JetStart injected fields
|
|
21
|
+
buildConfigField "String", "JETSTART_SERVER_URL", "\"\"" // injected by: jetstart dev
|
|
22
|
+
buildConfigField "String", "JETSTART_SESSION_ID", "\"\"" // injected by: jetstart dev
|
|
23
|
+
// End JetStart fields
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
buildTypes {
|
|
27
|
+
debug {
|
|
28
|
+
debuggable true
|
|
29
|
+
}
|
|
30
|
+
release {
|
|
31
|
+
debuggable false
|
|
32
|
+
minifyEnabled true
|
|
33
|
+
shrinkResources true
|
|
34
|
+
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
|
35
|
+
// Signing config is injected by `jetstart build --sign` via keystore.properties
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
compileOptions {
|
|
40
|
+
sourceCompatibility JavaVersion.VERSION_17
|
|
41
|
+
targetCompatibility JavaVersion.VERSION_17
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
kotlinOptions {
|
|
45
|
+
jvmTarget = '17'
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
buildFeatures {
|
|
49
|
+
compose true
|
|
50
|
+
buildConfig true // Required for JetStart hot reload
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
dependencies {
|
|
57
|
+
implementation 'androidx.core:core-ktx:1.12.0'
|
|
58
|
+
implementation 'androidx.appcompat:appcompat:1.6.1'
|
|
59
|
+
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.6.2'
|
|
60
|
+
implementation 'androidx.activity:activity-compose:1.8.1'
|
|
61
|
+
implementation platform('androidx.compose:compose-bom:2023.10.01')
|
|
62
|
+
implementation 'androidx.compose.ui:ui'
|
|
63
|
+
implementation 'androidx.compose.ui:ui-graphics'
|
|
64
|
+
implementation 'androidx.compose.ui:ui-tooling-preview'
|
|
65
|
+
implementation 'androidx.compose.material3:material3'
|
|
66
|
+
|
|
67
|
+
// Room
|
|
68
|
+
implementation 'androidx.room:room-runtime:2.6.1'
|
|
69
|
+
implementation 'androidx.room:room-ktx:2.6.1'
|
|
70
|
+
ksp 'androidx.room:room-compiler:2.6.1'
|
|
71
|
+
|
|
72
|
+
// Gson
|
|
73
|
+
implementation 'com.google.code.gson:gson:2.10.1'
|
|
74
|
+
|
|
75
|
+
// JetStart Hot Reload Runtime
|
|
76
|
+
implementation 'com.jetstart:hot-reload-runtime:1.0.0'
|
|
77
|
+
|
|
78
|
+
implementation "androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2"
|
|
79
|
+
|
|
80
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# JetStart default ProGuard/R8 rules
|
|
2
|
+
# Add your project-specific rules at the bottom.
|
|
3
|
+
# Kotlin
|
|
4
|
+
-keep class kotlin.** { *; }
|
|
5
|
+
-keepclassmembers class **$WhenMappings { <fields>; }
|
|
6
|
+
-dontwarn kotlin.**
|
|
7
|
+
# Jetpack Compose
|
|
8
|
+
-keep class androidx.compose.** { *; }
|
|
9
|
+
-keepclassmembers class androidx.compose.** { *; }
|
|
10
|
+
-dontwarn androidx.compose.**
|
|
11
|
+
# Room
|
|
12
|
+
-keep class * extends androidx.room.RoomDatabase { *; }
|
|
13
|
+
-keep @androidx.room.Entity class * { *; }
|
|
14
|
+
-keep @androidx.room.Dao class * { *; }
|
|
15
|
+
-dontwarn androidx.room.**
|
|
16
|
+
# Gson (JSON serialization)
|
|
17
|
+
-keepclassmembers class * {
|
|
18
|
+
@com.google.gson.annotations.SerializedName <fields>;
|
|
19
|
+
}
|
|
20
|
+
-keep class * implements com.google.gson.TypeAdapterFactory { *; }
|
|
21
|
+
# OkHttp + WebSocket
|
|
22
|
+
# Only used by HotReload (debug only). R8 strips the entire
|
|
23
|
+
# HotReload code path in release builds via BuildConfig.DEBUG = false.
|
|
24
|
+
-dontwarn okhttp3.**
|
|
25
|
+
-dontwarn okio.**
|
|
26
|
+
# DivKit
|
|
27
|
+
-keep class com.yandex.div.** { *; }
|
|
28
|
+
-dontwarn com.yandex.div.**
|
|
29
|
+
# Enum names (required for serialization)
|
|
30
|
+
-keepclassmembers enum * { *; }
|
|
31
|
+
# App data classes used by Room
|
|
32
|
+
-keep class {{PACKAGE_NAME}}.data.** { *; }
|
|
33
|
+
# Add your own keep rules below this line
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
|
3
|
+
|
|
4
|
+
<uses-permission android:name="android.permission.INTERNET" />
|
|
5
|
+
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
|
6
|
+
|
|
7
|
+
<application
|
|
8
|
+
android:allowBackup="true"
|
|
9
|
+
android:label="@string/app_name"
|
|
10
|
+
android:theme="@style/Theme.{{THEME_NAME}}"
|
|
11
|
+
android:networkSecurityConfig="@xml/network_security_config">
|
|
12
|
+
|
|
13
|
+
<provider
|
|
14
|
+
android:name="androidx.core.content.FileProvider"
|
|
15
|
+
android:authorities="${applicationId}.fileprovider"
|
|
16
|
+
android:exported="false"
|
|
17
|
+
android:grantUriPermissions="true">
|
|
18
|
+
<meta-data
|
|
19
|
+
android:name="android.support.FILE_PROVIDER_PATHS"
|
|
20
|
+
android:resource="@xml/provider_paths" />
|
|
21
|
+
</provider>
|
|
22
|
+
|
|
23
|
+
<activity
|
|
24
|
+
android:name=".MainActivity"
|
|
25
|
+
android:exported="true">
|
|
26
|
+
<intent-filter>
|
|
27
|
+
<action android:name="android.intent.action.MAIN" />
|
|
28
|
+
<category android:name="android.intent.category.LAUNCHER" />
|
|
29
|
+
</intent-filter>
|
|
30
|
+
</activity>
|
|
31
|
+
</application>
|
|
32
|
+
|
|
33
|
+
</manifest>
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
package {{PACKAGE_NAME}}
|
|
2
|
+
|
|
3
|
+
import android.os.Bundle
|
|
4
|
+
import androidx.appcompat.app.AppCompatActivity
|
|
5
|
+
import androidx.activity.compose.setContent
|
|
6
|
+
import androidx.compose.foundation.layout.*
|
|
7
|
+
import androidx.compose.material3.*
|
|
8
|
+
import androidx.compose.runtime.*
|
|
9
|
+
import androidx.compose.ui.Alignment
|
|
10
|
+
import androidx.compose.ui.Modifier
|
|
11
|
+
import androidx.compose.ui.unit.dp
|
|
12
|
+
import {{PACKAGE_NAME}}.ui.NotesScreen
|
|
13
|
+
import com.jetstart.hotreload.HotReload
|
|
14
|
+
|
|
15
|
+
class MainActivity : AppCompatActivity() {
|
|
16
|
+
override fun onCreate(savedInstanceState: Bundle?) {
|
|
17
|
+
super.onCreate(savedInstanceState)
|
|
18
|
+
|
|
19
|
+
// Hot reload is ONLY active in debug builds.
|
|
20
|
+
// In release builds this block is completely eliminated by R8 (BuildConfig.DEBUG = false).
|
|
21
|
+
if (BuildConfig.DEBUG) {
|
|
22
|
+
try {
|
|
23
|
+
val serverUrl = BuildConfig.JETSTART_SERVER_URL
|
|
24
|
+
val sessionId = BuildConfig.JETSTART_SESSION_ID
|
|
25
|
+
if (serverUrl.isNotEmpty()) {
|
|
26
|
+
HotReload.connect(this, serverUrl, sessionId)
|
|
27
|
+
}
|
|
28
|
+
} catch (e: Exception) {
|
|
29
|
+
android.util.Log.w("MainActivity", "Hot reload not configured: ${e.message}")
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
setContent {
|
|
34
|
+
MaterialTheme {
|
|
35
|
+
Surface(
|
|
36
|
+
modifier = Modifier.fillMaxSize(),
|
|
37
|
+
color = MaterialTheme.colorScheme.background
|
|
38
|
+
) {
|
|
39
|
+
// Observe reload version - forces recomposition when DEX hot reload happens
|
|
40
|
+
val reloadVersion by HotReload.reloadVersion.collectAsState()
|
|
41
|
+
|
|
42
|
+
// Use reloadVersion as key to force recomposition of entire tree
|
|
43
|
+
key(reloadVersion) {
|
|
44
|
+
// Normal mode: render actual Compose code
|
|
45
|
+
AppContent()
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
override fun onDestroy() {
|
|
53
|
+
super.onDestroy()
|
|
54
|
+
if (BuildConfig.DEBUG) { HotReload.disconnect() }
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Main App Content
|
|
60
|
+
*/
|
|
61
|
+
@Composable
|
|
62
|
+
fun AppContent() {
|
|
63
|
+
NotesScreen()
|
|
64
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
package {{PACKAGE_NAME}}.data
|
|
2
|
+
|
|
3
|
+
import android.content.Context
|
|
4
|
+
import androidx.room.Database
|
|
5
|
+
import androidx.room.Room
|
|
6
|
+
import androidx.room.RoomDatabase
|
|
7
|
+
import androidx.room.TypeConverter
|
|
8
|
+
import androidx.room.TypeConverters
|
|
9
|
+
import com.google.gson.Gson
|
|
10
|
+
import com.google.gson.reflect.TypeToken
|
|
11
|
+
|
|
12
|
+
@Database(entities = [Note::class], version = 1, exportSchema = false)
|
|
13
|
+
@TypeConverters(Converters::class)
|
|
14
|
+
abstract class AppDatabase : RoomDatabase() {
|
|
15
|
+
abstract fun noteDao(): NoteDao
|
|
16
|
+
|
|
17
|
+
companion object {
|
|
18
|
+
@Volatile
|
|
19
|
+
private var INSTANCE: AppDatabase? = null
|
|
20
|
+
|
|
21
|
+
fun getDatabase(context: Context): AppDatabase {
|
|
22
|
+
return INSTANCE ?: synchronized(this) {
|
|
23
|
+
val instance = Room.databaseBuilder(
|
|
24
|
+
context.applicationContext,
|
|
25
|
+
AppDatabase::class.java,
|
|
26
|
+
"note_database"
|
|
27
|
+
).build()
|
|
28
|
+
INSTANCE = instance
|
|
29
|
+
instance
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
class Converters {
|
|
36
|
+
@TypeConverter
|
|
37
|
+
fun fromString(value: String): List<String> {
|
|
38
|
+
val listType = object : TypeToken<List<String>>() {}.type
|
|
39
|
+
return Gson().fromJson(value, listType)
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
@TypeConverter
|
|
43
|
+
fun fromList(list: List<String>): String {
|
|
44
|
+
return Gson().toJson(list)
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
package {{PACKAGE_NAME}}.data
|
|
2
|
+
|
|
3
|
+
import androidx.room.Entity
|
|
4
|
+
import androidx.room.PrimaryKey
|
|
5
|
+
|
|
6
|
+
@Entity(tableName = "notes")
|
|
7
|
+
data class Note(
|
|
8
|
+
@PrimaryKey(autoGenerate = true) val id: Int = 0,
|
|
9
|
+
val content: String,
|
|
10
|
+
val tags: List<String>,
|
|
11
|
+
val timestamp: Long = System.currentTimeMillis()
|
|
12
|
+
)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
package {{PACKAGE_NAME}}.data
|
|
2
|
+
|
|
3
|
+
import androidx.room.Dao
|
|
4
|
+
import androidx.room.Delete
|
|
5
|
+
import androidx.room.Insert
|
|
6
|
+
import androidx.room.OnConflictStrategy
|
|
7
|
+
import androidx.room.Query
|
|
8
|
+
import kotlinx.coroutines.flow.Flow
|
|
9
|
+
|
|
10
|
+
@Dao
|
|
11
|
+
interface NoteDao {
|
|
12
|
+
@Query("SELECT * FROM notes ORDER BY timestamp DESC")
|
|
13
|
+
fun getAllNotes(): Flow<List<Note>>
|
|
14
|
+
|
|
15
|
+
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
|
16
|
+
suspend fun insertNote(note: Note)
|
|
17
|
+
|
|
18
|
+
@Delete
|
|
19
|
+
suspend fun deleteNote(note: Note)
|
|
20
|
+
|
|
21
|
+
@Query("SELECT * FROM notes WHERE content LIKE '%' || :query || '%'")
|
|
22
|
+
fun searchNotes(query: String): Flow<List<Note>>
|
|
23
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
package {{PACKAGE_NAME}}.logic
|
|
2
|
+
|
|
3
|
+
class TaggingEngine {
|
|
4
|
+
fun autoTag(content: String): List<String> {
|
|
5
|
+
val tags = mutableListOf<String>()
|
|
6
|
+
val lowerContent = content.lowercase()
|
|
7
|
+
|
|
8
|
+
if (lowerContent.contains("work") || lowerContent.contains("meeting") || lowerContent.contains("job")) {
|
|
9
|
+
tags.add("work")
|
|
10
|
+
}
|
|
11
|
+
if (lowerContent.contains("idea") || lowerContent.contains("concept") || lowerContent.contains("think")) {
|
|
12
|
+
tags.add("idea")
|
|
13
|
+
}
|
|
14
|
+
if (lowerContent.contains("money") || lowerContent.contains("cost") || lowerContent.contains("price") || lowerContent.contains("$") || lowerContent.contains("€")) {
|
|
15
|
+
tags.add("money")
|
|
16
|
+
}
|
|
17
|
+
if (lowerContent.contains("bug") || lowerContent.contains("fix") || lowerContent.contains("error") || lowerContent.contains("crash")) {
|
|
18
|
+
tags.add("bug")
|
|
19
|
+
}
|
|
20
|
+
if (lowerContent.contains("todo") || lowerContent.contains("must") || lowerContent.contains("should")) {
|
|
21
|
+
tags.add("todo")
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return tags
|
|
25
|
+
}
|
|
26
|
+
}
|