Skip to content

Commit 2cff5a5

Browse files
Sundram SinghSundram Singh
authored andcommitted
core created, compose created and sample app created
0 parents  commit 2cff5a5

1,021 files changed

Lines changed: 50298 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [ main, develop ]
6+
pull_request:
7+
branches: [ main, develop ]
8+
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.ref }}
11+
cancel-in-progress: true
12+
13+
jobs:
14+
# ── formcraft-core: build + unit tests ──────────────────────────────────────
15+
test-core:
16+
name: Core — Build & Test
17+
runs-on: ubuntu-latest
18+
steps:
19+
- uses: actions/checkout@v4
20+
21+
- name: Set up JDK 17
22+
uses: actions/setup-java@v4
23+
with:
24+
distribution: 'zulu'
25+
java-version: '17'
26+
cache: 'gradle'
27+
28+
- name: Grant gradlew permission
29+
run: chmod +x gradlew
30+
31+
- name: Build formcraft-core
32+
run: ./gradlew :formcraft-core:build
33+
34+
- name: Run formcraft-core tests
35+
run: ./gradlew :formcraft-core:jvmTest
36+
37+
- name: Upload test report
38+
uses: actions/upload-artifact@v4
39+
if: always()
40+
with:
41+
name: core-test-report
42+
path: formcraft-core/build/reports/tests/jvmTest/
43+
44+
# ── formcraft-compose: build ─────────────────────────────────────────────────
45+
build-compose:
46+
name: Compose — Build
47+
runs-on: ubuntu-latest
48+
steps:
49+
- uses: actions/checkout@v4
50+
51+
- name: Set up JDK 17
52+
uses: actions/setup-java@v4
53+
with:
54+
distribution: 'zulu'
55+
java-version: '17'
56+
cache: 'gradle'
57+
58+
- name: Grant gradlew permission
59+
run: chmod +x gradlew
60+
61+
- name: Setup Android SDK
62+
uses: android-actions/setup-android@v3
63+
64+
- name: Build formcraft-compose
65+
run: ./gradlew :formcraft-compose:build
66+
67+
- name: Upload lint report
68+
uses: actions/upload-artifact@v4
69+
if: always()
70+
with:
71+
name: compose-lint-report
72+
path: formcraft-compose/build/reports/lint-results-debug.html
73+
74+
# ── sample-app: assemble ─────────────────────────────────────────────────────
75+
build-sample:
76+
name: Sample App — Assemble
77+
runs-on: ubuntu-latest
78+
needs: [ test-core, build-compose ]
79+
steps:
80+
- uses: actions/checkout@v4
81+
82+
- name: Set up JDK 17
83+
uses: actions/setup-java@v4
84+
with:
85+
distribution: 'zulu'
86+
java-version: '17'
87+
cache: 'gradle'
88+
89+
- name: Grant gradlew permission
90+
run: chmod +x gradlew
91+
92+
- name: Setup Android SDK
93+
uses: android-actions/setup-android@v3
94+
95+
- name: Assemble sample-app debug
96+
run: ./gradlew :sample-app:assembleDebug
97+
98+
- name: Upload APK
99+
uses: actions/upload-artifact@v4
100+
with:
101+
name: sample-app-debug
102+
path: sample-app/build/outputs/apk/debug/sample-app-debug.apk
103+
104+
# ── publish to Maven Local (dry-run for PRs) ─────────────────────────────────
105+
publish-check:
106+
name: Publish — Dry Run
107+
runs-on: ubuntu-latest
108+
needs: [ test-core, build-compose ]
109+
if: github.event_name == 'pull_request'
110+
steps:
111+
- uses: actions/checkout@v4
112+
113+
- name: Set up JDK 17
114+
uses: actions/setup-java@v4
115+
with:
116+
distribution: 'zulu'
117+
java-version: '17'
118+
cache: 'gradle'
119+
120+
- name: Grant gradlew permission
121+
run: chmod +x gradlew
122+
123+
- name: Setup Android SDK
124+
uses: android-actions/setup-android@v3
125+
126+
- name: Publish to Maven Local
127+
run: ./gradlew publishToMavenLocal
128+
129+
# ── publish to Maven Central (on main only) ──────────────────────────────────
130+
publish:
131+
name: Publish — Maven Central
132+
runs-on: ubuntu-latest
133+
needs: [ test-core, build-compose ]
134+
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
135+
steps:
136+
- uses: actions/checkout@v4
137+
138+
- name: Set up JDK 17
139+
uses: actions/setup-java@v4
140+
with:
141+
distribution: 'zulu'
142+
java-version: '17'
143+
cache: 'gradle'
144+
145+
- name: Grant gradlew permission
146+
run: chmod +x gradlew
147+
148+
- name: Setup Android SDK
149+
uses: android-actions/setup-android@v3
150+
151+
- name: Publish to Maven Central
152+
run: ./gradlew publishAllPublicationsToMavenCentralRepository
153+
env:
154+
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
155+
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
156+
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_IN_MEMORY_KEY }}
157+
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_IN_MEMORY_KEY_PASSWORD }}

.gitignore

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
*.iml
2+
.gradle
3+
/local.properties
4+
/.idea/caches
5+
/.idea/libraries
6+
/.idea/modules.xml
7+
/.idea/workspace.xml
8+
/.idea/navEditor.xml
9+
/.idea/assetWizardSettings.xml
10+
.DS_Store
11+
/build
12+
/captures
13+
.externalNativeBuild
14+
.cxx
15+
local.properties
16+
.claude
17+
CLAUDE.md
18+
summary

.idea/.gitignore

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/AndroidProjectSystem.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/artifacts/formcraft_core_jvm_0_1_0.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/codeStyles/Project.xml

Lines changed: 123 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/codeStyles/codeStyleConfig.xml

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/compiler.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/deploymentTargetSelector.xml

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/gradle.xml

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)