Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 10 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
name: Build

on: [push, pull_request]
on:
push:
pull_request:

jobs:
build:
Expand All @@ -10,14 +12,15 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v1

- name: Configure JDK
uses: actions/setup-java@v4
with:
distribution: 'zulu'
distribution: zulu
java-version: '17'
cache: gradle

- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v4

- name: Test
run: ./gradlew assemble
- name: Build
run: ./gradlew build
18 changes: 8 additions & 10 deletions .github/workflows/publish-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ on:
push:
tags:
- '*'

env:
RELEASE_SIGNING_ENABLED: true

jobs:
publish:

runs-on: ubuntu-latest
if: github.repository == 'Jawnnypoo/PhysicsLayout'

Expand All @@ -20,16 +20,14 @@ jobs:
- name: Install JDK
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17

- name: Set version
run: sed -i "s/VERSION_NAME=0.0.1/VERSION_NAME=$GITHUB_REF_NAME/" gradle.properties
distribution: zulu
java-version: '17'
cache: gradle

- name: Release to Maven Central
run: ./gradlew publishAndReleaseToMavenCentral --no-configuration-cache
run: ./gradlew publishAndReleaseToMavenCentral -PVERSION_NAME="${GITHUB_REF_NAME}" --no-configuration-cache
env:
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }}
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }}
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_PRIVATE_KEY }}
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }}
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }}
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ Android layout that simulates physics using [JBox2D](https://github.com/jbox2d/j

See it in action with the sample app:

[![Google Play](https://raw.githubusercontent.com/Jawnnypoo/PhysicsLayout/master/art/google-play-badge.png)](https://play.google.com/store/apps/details?id=com.jawnnypoo.physicslayout.sample)
[![Google Play](https://raw.githubusercontent.com/Jawnnypoo/PhysicsLayout/main/art/google-play-badge.png)](https://play.google.com/store/apps/details?id=com.jawnnypoo.physicslayout.sample)

[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.jawnnypoo/physicslayout/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.jawnnypoo/physicslayout)
[![Build](https://github.com/Jawnnypoo/PhysicsLayout/actions/workflows/ci.yml/badge.svg)](https://github.com/Jawnnypoo/PhysicsLayout/actions/workflows/ci.yml) [![Maven Central](https://img.shields.io/maven-central/v/com.jawnnypoo/physicslayout.svg?label=Maven%20Central)](https://central.sonatype.com/artifact/com.jawnnypoo/physicslayout)

## Gradle
```groovy
Expand Down
19 changes: 9 additions & 10 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
plugins {
id("com.android.application")
id("kotlin-android")
}

android {
namespace = "com.jawnnypoo.physicslayout.sample"
compileSdk = 34
compileSdk = 35

defaultConfig {
applicationId = "com.jawnnypoo.physicslayout.sample"
minSdk = 21
targetSdk = 34
targetSdk = 35
versionCode = 101
versionName = "1.0.1"
}
Expand All @@ -19,24 +18,26 @@ android {
viewBinding = true
}

compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}

buildTypes {
getByName("release") {
isMinifyEnabled = true
isShrinkResources = true
proguardFiles("proguard-rules.pro", getDefaultProguardFile("proguard-android.txt"))
proguardFiles("proguard-rules.pro", getDefaultProguardFile("proguard-android-optimize.txt"))
}
getByName("debug") {
isMinifyEnabled = false
isShrinkResources = false
proguardFiles("proguard-rules.pro", getDefaultProguardFile("proguard-android.txt"))
proguardFiles("proguard-rules.pro", getDefaultProguardFile("proguard-android-optimize.txt"))
}
}

}

kotlin {
jvmToolchain(17)
}

dependencies {
implementation(libs.coroutines.core)
Expand All @@ -63,7 +64,5 @@ dependencies {
}


implementation(libs.gimbal)

implementation(project(":physicslayout"))
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ import androidx.activity.viewModels
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.graphics.drawable.DrawerArrowDrawable
import coil.load
import com.commit451.gimbal.Gimbal
import com.jawnnypoo.physicslayout.Physics
import com.jawnnypoo.physicslayout.PhysicsConfig
import com.jawnnypoo.physicslayout.Shape
Expand All @@ -37,12 +36,10 @@ class AboutActivity : AppCompatActivity() {
private lateinit var binding: ActivityAboutBinding
private lateinit var sensorManager: SensorManager
private var gravitySensor: Sensor? = null
private lateinit var gimbal: Gimbal

private val sensorEventListener = object : SensorEventListener {
override fun onSensorChanged(event: SensorEvent) {
if (event.sensor.type == Sensor.TYPE_GRAVITY) {
gimbal.normalizeGravityEvent(event)
binding.physicsLayout.physics.setGravity(-event.values[0], event.values[1])
}
}
Expand All @@ -52,8 +49,6 @@ class AboutActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
gimbal = Gimbal(this)
gimbal.lock()
binding = ActivityAboutBinding.inflate(layoutInflater)
setContentView(binding.root)
findViewById<View>(R.id.sauce).setOnClickListener { openPage("https://github.com/Jawnnypoo/PhysicsLayout") }
Expand Down
1 change: 0 additions & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
alias(libs.plugins.com.android.application) apply false
alias(libs.plugins.com.android.library) apply false
alias(libs.plugins.org.jetbrains.kotlin.android) apply false
alias(libs.plugins.com.vanniktech.publish) apply false
}
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
android.useAndroidX=true
org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=1024m -Dfile.encoding=UTF-8

GROUP=com.jawnnypoo
POM_ARTIFACT_ID=physicslayout
Expand All @@ -39,5 +40,4 @@ POM_DEVELOPER_ID=Jawnnypoo
POM_DEVELOPER_NAME=John Carlson
POM_DEVELOPER_URL=https://github.com/Jawnnypoo/

# This gets updated by CI
VERSION_NAME=0.0.1
VERSION_NAME=3.0.3
29 changes: 12 additions & 17 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,38 +1,33 @@
[versions]
org-jetbrains-kotlin-android = "1.9.10"
agp = "8.2.1"
coroutines = "1.7.3"
retrofit = "2.9.0"
agp = "9.1.0"
coroutines = "1.10.2"
retrofit = "2.11.0"

[libraries]
jbox2d = { group = "org.jbox2d", name = "jbox2d-library", version = "2.2.1.1" }
translation-drag-view-helper = { group = "com.commit451", name = "translationviewdraghelper", version = "2.0.3" }
translation-drag-view-helper = { group = "com.commit451", name = "translationviewdraghelper", version = "2.0.4" }

coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "coroutines" }
coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "coroutines" }
coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "coroutines" }

androidx-activity = { group = "androidx.activity", name = "activity-ktx", version = "1.8.2" }
androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version = "1.6.1" }
androidx-lifecycle-viewmodel = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version = "2.7.0" }
androidx-activity = { group = "androidx.activity", name = "activity-ktx", version = "1.10.1" }
androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version = "1.7.1" }
androidx-lifecycle-viewmodel = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version = "2.9.1" }

google-material = { group = "com.google.android.material", name = "material", version = "1.11.0" }
google-material = { group = "com.google.android.material", name = "material", version = "1.13.0" }

circle-image-view = { group = "de.hdodenhof", name = "circleimageview", version = "3.1.0" }

coil = { group = "io.coil-kt", name = "coil", version = "2.5.0" }
coil = { group = "io.coil-kt", name = "coil", version = "2.7.0" }

retrofit = { group = "com.squareup.retrofit2", name = "retrofit", version.ref = "retrofit" }
retrofit-moshi = { group = "com.squareup.retrofit2", name = "converter-moshi", version.ref = "retrofit" }

moshi = { group = "com.squareup.moshi", name = "moshi-kotlin", version = "1.13.0" }
moshi = { group = "com.squareup.moshi", name = "moshi-kotlin", version = "1.15.2" }

flowlayout = { group = "com.wefika", name = "flowlayout", version = "0.4.1" }

gimbal = { group = "com.github.Commit451", name = "Gimbal", version = "3.0.0" }


[plugins]
org-jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "org-jetbrains-kotlin-android" }
com-android-application = { id = "com.android.application", version.ref = "agp" }
com-android-library = { id = "com.android.library", version.ref = "agp" }
com-vanniktech-publish = { id = "com.vanniktech.maven.publish", version = "0.27.0" }
com-vanniktech-publish = { id = "com.vanniktech.maven.publish", version = "0.30.0" }
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
4 changes: 2 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-all.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
zipStorePath=wrapper/dists
Loading