Skip to content

Commit 6257322

Browse files
authored
Merge pull request #487 from Jeffset/amper
Initial Amper Build Setup
2 parents 5afcd26 + 9f3954f commit 6257322

File tree

549 files changed

+813
-1177
lines changed

Some content is hidden

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

549 files changed

+813
-1177
lines changed

.github/workflows/build-all.yml

Lines changed: 5 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ on:
33
pull_request:
44
push:
55
branches:
6-
- main
6+
- amper
77

88
concurrency:
99
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
@@ -16,68 +16,34 @@ jobs:
1616
steps:
1717
- name: Check out code
1818
uses: actions/checkout@v4
19-
- name: Set up JDK 21
20-
uses: actions/setup-java@v4
21-
with:
22-
distribution: 'zulu'
23-
java-version: 21
2419
- name: Assemble desktop jar
25-
run: ./gradlew :shared:jvmJar
20+
run: ./amper build -m jvmApp
2621

2722
build-android:
2823
name: Build Android
2924
runs-on: ubuntu-latest
3025
steps:
3126
- name: Check out code
3227
uses: actions/checkout@v4
33-
- name: Set up JDK 21
34-
uses: actions/setup-java@v4
35-
with:
36-
distribution: 'zulu'
37-
java-version: 21
3828
- name: Android debug build
39-
run: ./gradlew :androidApp:assembleDebug --stacktrace
29+
run: ./amper build -m androidApp
4030

4131
build-ios:
4232
name: Build iOS
4333
runs-on: macOS-latest
4434
steps:
4535
- name: Check out code
4636
uses: actions/checkout@v4
47-
- name: Set up JDK 21
48-
uses: actions/setup-java@v4
49-
with:
50-
distribution: 'zulu'
51-
java-version: 21
5237
- name: Set Xcode version
5338
run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer
5439
- name: iOS debug build
55-
run: cd iosApp && xcodebuild -target "iosApp" -configuration Debug -scheme KotlinConfAppScheme -destination 'platform=iOS Simulator,OS=latest,name=iPhone 16' CODE_SIGNING_ALLOWED='NO'
56-
57-
build-web:
58-
name: Build web
59-
runs-on: ubuntu-latest
60-
steps:
61-
- name: Check out code
62-
uses: actions/checkout@v4
63-
- name: Set up JDK 21
64-
uses: actions/setup-java@v4
65-
with:
66-
distribution: 'zulu'
67-
java-version: 21
68-
- name: Build web app
69-
run: ./gradlew buildWebApp
40+
run: ./amper build -m iosApp -p iosArm64
7041

7142
build-backend:
7243
name: Build backend
7344
runs-on: ubuntu-latest
7445
steps:
7546
- name: Check out code
7647
uses: actions/checkout@v4
77-
- name: Set up JDK 21
78-
uses: actions/setup-java@v4
79-
with:
80-
distribution: 'zulu'
81-
java-version: 21
8248
- name: Build backend jar
83-
run: ./gradlew :backend:jar
49+
run: ./amper build -m backend

.github/workflows/junie.yml

Lines changed: 0 additions & 23 deletions
This file was deleted.

.github/workflows/web-deploy.yml

Lines changed: 0 additions & 56 deletions
This file was deleted.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
build
2+
build-from-sources
23
.gradle
34
.idea
45
.idea/*

README.md

Lines changed: 10 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,15 @@
1-
[![JetBrains official project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
1+
# KotlinConf App (Amper)
22

3-
# KotlinConf App
4-
5-
This repository contains the source code of the official application for [KotlinConf](https://kotlinconf.com/).
6-
7-
![The KotlinConf official application](docs/header.png)
8-
9-
The application is written in Kotlin, sharing code between all of its platforms using [Kotlin Multiplatform](https://www.jetbrains.com/kotlin-multiplatform/).
10-
11-
* The client application for Android, iOS, desktop, and web is built with shared UI using [Compose Multiplatform](https://www.jetbrains.com/compose-multiplatform/).
12-
* The backend application is powered by the [Ktor](https://ktor.io/) server-side framework and the [Exposed](https://www.jetbrains.com/help/exposed/home.html) database library.
13-
14-
The app is published for the following platforms:
15-
16-
* Android: [available on Google Play](https://play.google.com/store/apps/details?id=com.jetbrains.kotlinconf)
17-
* iOS: [available from the App Store](https://apps.apple.com/us/app/kotlinconf/id1299196584)
18-
* Web: [deployed to GitHub Pages](https://jetbrains.github.io/kotlinconf-app/)
3+
This branch contains a version of the app built by [Amper](https://github.com/JetBrains/amper), an experimental build tool by JetBrains.
194

205
## Building the project
216

22-
To build the project locally:
7+
To build and run the project locally (CLI):
8+
* Android: `./amper run -m androidApp`
9+
* iOS: `./amper run -p iosSimulatorArm64`
10+
* Desktop: `./amper run -m jvmApp`
11+
* Backend: `./amper run -m backend`
2312

24-
1. [Set up your environment](https://www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-setup.html) for Kotlin Multiplatform development.
25-
2. Open the project in IntelliJ IDEA or Android Studio.
26-
3. Run the desired platform
27-
* Android: use the `androidApp` run configuration
28-
* iOS: use `KotlinConfAppScheme`
29-
* Desktop: `./gradlew :shared:jvmRunHot -DmainClass=org.jetbrains.kotlinconf.MainKt`
30-
* Web: `./gradlew :shared:wasmJsBrowserDevelopmentRun `
31-
* Backend: `./gradlew :backend:run`
13+
To run the UI components library demo (CLI):
14+
* Android: `./amper run -m android-gallery-app`
15+
* Desktop: `./amper run -m jvm-gallery-app`

0 commit comments

Comments
 (0)