Skip to content

Commit fca16f8

Browse files
authored
Merge pull request #13 from Idkthisguy/revert-12-anima-v2
Revert "Anima v2 test main"
2 parents 15c6680 + b598fc9 commit fca16f8

156 files changed

Lines changed: 10870 additions & 5821 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/build.yml

Lines changed: 47 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
name: Anima Build and Deploy action
1+
name: Build Anima
2+
23
on:
34
push:
45
branches:
@@ -10,69 +11,58 @@ env:
1011
PRERELEASE: false
1112

1213
jobs:
13-
build:
14-
#strategy:
15-
#matrix:
16-
#os: [windows-latest, ubuntu-latest]
17-
18-
#runs-on: ${{ matrix.os }}
19-
14+
build-windows:
2015
runs-on: windows-latest
21-
16+
env:
17+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2218
steps:
23-
- name: Checkout Code
24-
uses: actions/checkout@v4
25-
26-
- name: Install Qt
27-
uses: jurplel/install-qt-action@v3
28-
#with:
29-
#version: '6.5.3'
30-
#arch: ${{ matrix.os == 'windows-latest' && 'win64_msvc2019_64' || 'gcc_64' }}
19+
- uses: actions/checkout@v4
20+
- uses: actions/setup-node@v4
3121
with:
32-
version: '6.8.3'
33-
arch: 'win64_msvc2022_64'
34-
35-
- name: Setup MSVC (Windows Only)
36-
#if: matrix.os == 'windows-latest'
37-
uses: ilammy/msvc-dev-cmd@v1
38-
39-
# - name: Install Linux Deps
40-
# if: matrix.os == 'ubuntu-latest'
41-
#run: |
42-
# sudo apt-get update
43-
# sudo apt-get install -y libgl1-mesa-dev libxkbcommon-x11-0
44-
45-
- name: Configure CMake
46-
run: cmake -B build -DCMAKE_BUILD_TYPE=Release
47-
48-
- name: Build Project
49-
run: cmake --build build --config Release
50-
51-
- name: Bundle Windows
52-
#if: matrix.os == 'windows-latest'
53-
run: windeployqt --qmldir . build/Release/Anima.exe
22+
node-version: 20
23+
- run: npm install
24+
- run: npm run dist:win -- --publish never
25+
- uses: actions/upload-artifact@v4
26+
with:
27+
name: windows-builds
28+
path: dist/Anima-v*/*.exe
5429

55-
- name: Create ZIP
56-
uses: thedoctor0/zip-release@main
30+
build-linux:
31+
runs-on: ubuntu-latest
32+
env:
33+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
34+
steps:
35+
- uses: actions/checkout@v4
36+
- uses: actions/setup-node@v4
5737
with:
58-
type: 'zip'
59-
directory: 'build/Release'
60-
filename: Anima-v2.zip
38+
node-version: 20
39+
- run: npm install
40+
- run: npm run dist:linux -- --publish never
41+
- uses: actions/upload-artifact@v4
42+
with:
43+
name: linux-builds
44+
path: dist/Anima-v*/*.AppImage
45+
46+
release:
47+
needs: [build-windows, build-linux]
48+
runs-on: ubuntu-latest
49+
permissions:
50+
contents: write
51+
steps:
52+
- uses: actions/checkout@v4
6153

62-
- name: Save Private Test Build
63-
uses: actions/upload-artifact@v4
54+
- uses: actions/download-artifact@v4
6455
with:
65-
name: Testing-Build
66-
path: "**/*.zip"
56+
path: artifacts
57+
merge-multiple: true
6758

68-
- name: Create Official Release
69-
if: github.event_name == 'workflow_dispatch'
70-
uses: softprops/action-gh-release@v1
59+
- name: Create or update release
60+
uses: softprops/action-gh-release@v2
7161
with:
72-
tag_name: ${{ github.event.inputs.release_name }}
73-
name: Anima ${{ github.event.inputs.release_name }}
62+
tag_name: ${{ env.TAG }}
63+
name: ${{ env.PRERELEASE == 'true' && format('Pre-release {0}', env.TAG) || format('Release {0}', env.TAG) }}
64+
prerelease: ${{ env.PRERELEASE == 'true' }}
65+
target_commitish: ${{ env.PRERELEASE == 'true' && 'dev' || 'main' }}
7466
body_path: CHANGELOG.md
75-
prerelease: ${{ github.event.inputs.is_prerelease }}
76-
files: "**/*.zip"
77-
env:
78-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
67+
files: artifacts/**/*
68+
fail_on_unmatched_files: false

.gitignore

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1-
.git/
2-
.qtcreator/
3-
build/
1+
# Dependencies
2+
node_modules/
3+
dist/
4+
out/
5+
6+
# Logs
7+
npm-debug.log*
8+
yarn-debug.log*
9+
yarn-error.log*
10+
11+
# OS Junk
12+
.DS_Store
13+
Thumbs.db
14+
15+
# App Specific
16+
*.ani
17+
*.mp4
18+
*.webm
19+
temp_render/

Anima_header.png

45.7 KB
Loading
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
name: Build Mobile Apps
2+
on: [push]
3+
4+
jobs:
5+
android-build:
6+
runs-on: ubuntu-latest
7+
steps:
8+
- uses: actions/checkout@v4
9+
- name: Set up Node.js
10+
uses: actions/setup-node@v4
11+
with:
12+
node-version: 22
13+
- name: Set up JDK 21
14+
uses: actions/setup-java@v4
15+
with:
16+
java-version: '21'
17+
distribution: 'temurin'
18+
- run: npm install
19+
- run: npx cap sync android
20+
- name: Build APK
21+
run: |
22+
cd android
23+
chmod +x gradlew
24+
./gradlew assembleDebug
25+
- name: Upload APK
26+
uses: actions/upload-artifact@v4
27+
with:
28+
name: anima-android-apk
29+
path: android/app/build/outputs/apk/debug/app-debug.apk
30+
31+
ios-build:
32+
runs-on: macos-latest
33+
steps:
34+
- uses: actions/checkout@v4
35+
- uses: actions/setup-node@v4
36+
with:
37+
node-version: 22
38+
- run: npm install
39+
- run: npx cap add ios || true
40+
- run: npx cap sync ios
41+
42+
- name: Build and Package IPA
43+
run: |
44+
# 1. Build the actual app binary
45+
xcodebuild -project ios/App/App.xcodeproj \
46+
-scheme App \
47+
-configuration Debug \
48+
-sdk iphoneos \
49+
-derivedDataPath build \
50+
CODE_SIGNING_ALLOWED=NO \
51+
CODE_SIGNING_REQUIRED=NO \
52+
ENTITLEMENTS_REQUIRED=NO \
53+
clean build
54+
55+
# 2. Create the Payload folder structure for AltStore
56+
mkdir -p Payload
57+
cp -r build/Build/Products/Debug-iphoneos/App.app Payload/
58+
59+
# 3. Zip it and rename to .ipa
60+
zip -r Anima.ipa Payload
61+
62+
- name: Upload IPA for Sideloading
63+
uses: actions/upload-artifact@v4
64+
with:
65+
name: anima-ios-ipa
66+
path: Anima.ipa
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
# Using Android gitignore template: https://github.com/github/gitignore/blob/HEAD/Android.gitignore
2+
3+
# Built application files
4+
*.apk
5+
*.aar
6+
*.ap_
7+
*.aab
8+
9+
# Files for the ART/Dalvik VM
10+
*.dex
11+
12+
# Java class files
13+
*.class
14+
15+
# Generated files
16+
bin/
17+
gen/
18+
out/
19+
# Uncomment the following line in case you need and you don't have the release build type files in your app
20+
# release/
21+
22+
# Gradle files
23+
.gradle/
24+
build/
25+
26+
# Local configuration file (sdk path, etc)
27+
local.properties
28+
29+
# Proguard folder generated by Eclipse
30+
proguard/
31+
32+
# Log Files
33+
*.log
34+
35+
# Android Studio Navigation editor temp files
36+
.navigation/
37+
38+
# Android Studio captures folder
39+
captures/
40+
41+
# IntelliJ
42+
*.iml
43+
.idea/workspace.xml
44+
.idea/tasks.xml
45+
.idea/gradle.xml
46+
.idea/assetWizardSettings.xml
47+
.idea/dictionaries
48+
.idea/libraries
49+
# Android Studio 3 in .gitignore file.
50+
.idea/caches
51+
.idea/modules.xml
52+
# Comment next line if keeping position of elements in Navigation Editor is relevant for you
53+
.idea/navEditor.xml
54+
55+
# Keystore files
56+
# Uncomment the following lines if you do not want to check your keystore files in.
57+
#*.jks
58+
#*.keystore
59+
60+
# External native build folder generated in Android Studio 2.2 and later
61+
.externalNativeBuild
62+
.cxx/
63+
64+
# Google Services (e.g. APIs or Firebase)
65+
# google-services.json
66+
67+
# Freeline
68+
freeline.py
69+
freeline/
70+
freeline_project_description.json
71+
72+
# fastlane
73+
fastlane/report.xml
74+
fastlane/Preview.html
75+
fastlane/screenshots
76+
fastlane/test_output
77+
fastlane/readme.md
78+
79+
# Version control
80+
vcs.xml
81+
82+
# lint
83+
lint/intermediates/
84+
lint/generated/
85+
lint/outputs/
86+
lint/tmp/
87+
# lint/reports/
88+
89+
# Android Profiling
90+
*.hprof
91+
92+
# Cordova plugins for Capacitor
93+
capacitor-cordova-android-plugins
94+
95+
# Copied web assets
96+
app/src/main/assets/public
97+
98+
# Generated Config files
99+
app/src/main/assets/capacitor.config.json
100+
app/src/main/assets/capacitor.plugins.json
101+
app/src/main/res/xml/config.xml
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
/build/*
2+
!/build/.npmkeep
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
apply plugin: 'com.android.application'
2+
3+
android {
4+
namespace = "com.idkthisguy.anima"
5+
compileSdk = rootProject.ext.compileSdkVersion
6+
defaultConfig {
7+
applicationId "com.idkthisguy.anima"
8+
minSdkVersion rootProject.ext.minSdkVersion
9+
targetSdkVersion rootProject.ext.targetSdkVersion
10+
versionCode 1
11+
versionName "1.0"
12+
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
13+
aaptOptions {
14+
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
15+
// Default: https://android.googlesource.com/platform/frameworks/base/+/282e181b58cf72b6ca770dc7ca5f91f135444502/tools/aapt/AaptAssets.cpp#61
16+
ignoreAssetsPattern = '!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~'
17+
}
18+
}
19+
buildTypes {
20+
release {
21+
minifyEnabled false
22+
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
23+
}
24+
}
25+
}
26+
27+
repositories {
28+
flatDir{
29+
dirs '../capacitor-cordova-android-plugins/src/main/libs', 'libs'
30+
}
31+
}
32+
33+
dependencies {
34+
implementation fileTree(include: ['*.jar'], dir: 'libs')
35+
implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion"
36+
implementation "androidx.coordinatorlayout:coordinatorlayout:$androidxCoordinatorLayoutVersion"
37+
implementation "androidx.core:core-splashscreen:$coreSplashScreenVersion"
38+
implementation project(':capacitor-android')
39+
testImplementation "junit:junit:$junitVersion"
40+
androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"
41+
androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion"
42+
implementation project(':capacitor-cordova-android-plugins')
43+
}
44+
45+
apply from: 'capacitor.build.gradle'
46+
47+
try {
48+
def servicesJSON = file('google-services.json')
49+
if (servicesJSON.text) {
50+
apply plugin: 'com.google.gms.google-services'
51+
}
52+
} catch(Exception e) {
53+
logger.info("google-services.json not found, google-services plugin not applied. Push Notifications won't work")
54+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// DO NOT EDIT THIS FILE! IT IS GENERATED EACH TIME "capacitor update" IS RUN
2+
3+
android {
4+
compileOptions {
5+
sourceCompatibility JavaVersion.VERSION_21
6+
targetCompatibility JavaVersion.VERSION_21
7+
}
8+
}
9+
10+
apply from: "../capacitor-cordova-android-plugins/cordova.variables.gradle"
11+
dependencies {
12+
implementation project(':capacitor-community-media')
13+
14+
}
15+
16+
17+
if (hasProperty('postBuildExtras')) {
18+
postBuildExtras()
19+
}

0 commit comments

Comments
 (0)