Bump hikage-core, hikage-extension, hikage-extension-betterandroid, hikage-extension-compose, hikage-compiler, hikage-widget-androidx, hikage-widget-material version to 1.0.0

This commit is contained in:
2025-04-20 05:32:06 +08:00
parent 794c535789
commit 99abe3cd18
218 changed files with 13256 additions and 627 deletions

View File

@@ -0,0 +1,56 @@
plugins {
autowire(libs.plugins.android.library)
autowire(libs.plugins.kotlin.android)
autowire(libs.plugins.maven.publish)
autowire(libs.plugins.kotlin.ksp)
}
group = property.project.groupName
version = property.project.hikage.widget.androidx.version
android {
namespace = property.project.hikage.widget.androidx.namespace
compileSdk = property.project.android.compileSdk
defaultConfig {
minSdk = property.project.android.minSdk
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles("consumer-rules.pro")
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
freeCompilerArgs = listOf(
"-Xno-param-assertions",
"-Xno-call-assertions",
"-Xno-receiver-assertions"
)
}
}
dependencies {
ksp(projects.hikageCompiler)
implementation(projects.hikageCore)
api(androidx.appcompat.appcompat)
api(androidx.constraintlayout.constraintlayout)
api(androidx.coordinatorlayout.coordinatorlayout)
api(androidx.swiperefreshlayout.swiperefreshlayout)
api(androidx.slidingpanelayout.slidingpanelayout)
api(androidx.drawerlayout.drawerlayout)
api(androidx.cardview.cardview)
api(androidx.viewpager.viewpager)
api(androidx.viewpager2.viewpager2)
api(androidx.recyclerview.recyclerview)
testImplementation(junit.junit)
androidTestImplementation(androidx.test.ext.junit)
androidTestImplementation(androidx.test.espresso.espresso.core)
}

View File

@@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

View File

@@ -0,0 +1,25 @@
package com.highcapable.hikage
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.Assert.*
/**
* Instrumented test, which will execute on an Android device.
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
@RunWith(AndroidJUnit4::class)
class ExampleInstrumentedTest {
@Test
fun useAppContext() {
// Context of the app under test.
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
assertEquals("com.highcapable.hikage.test", appContext.packageName)
}
}

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest />

View File

@@ -0,0 +1,103 @@
/*
* Hikage - An Android responsive UI building tool.
* Copyright (C) 2019 HighCapable
* https://github.com/BetterAndroid/Hikage
*
* Apache License Version 2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* This file is created by fankes on 2025/2/26.
*/
@file:Suppress("unused")
@file:JvmName("WidgetsDeclaration")
package com.highcapable.hikage.widget.androidx.appcompat
import androidx.appcompat.widget.AppCompatAutoCompleteTextView
import androidx.appcompat.widget.AppCompatButton
import androidx.appcompat.widget.AppCompatCheckBox
import androidx.appcompat.widget.AppCompatCheckedTextView
import androidx.appcompat.widget.AppCompatEditText
import androidx.appcompat.widget.AppCompatImageButton
import androidx.appcompat.widget.AppCompatImageView
import androidx.appcompat.widget.AppCompatMultiAutoCompleteTextView
import androidx.appcompat.widget.AppCompatRadioButton
import androidx.appcompat.widget.AppCompatRatingBar
import androidx.appcompat.widget.AppCompatSeekBar
import androidx.appcompat.widget.AppCompatSpinner
import androidx.appcompat.widget.AppCompatTextView
import androidx.appcompat.widget.AppCompatToggleButton
import androidx.appcompat.widget.LinearLayoutCompat
import androidx.appcompat.widget.SwitchCompat
import com.highcapable.hikage.annotation.HikageViewDeclaration
import androidx.appcompat.widget.ActionMenuView as AppCompatActionMenuView
import androidx.appcompat.widget.SearchView as AppCompatSearchView
import androidx.appcompat.widget.Toolbar as AppCompatToolbar
@HikageViewDeclaration(AppCompatRadioButton::class)
private object AppCompatRadioButtonDeclaration
@HikageViewDeclaration(AppCompatRatingBar::class)
private object AppCompatRatingBarDeclaration
@HikageViewDeclaration(AppCompatImageButton::class)
private object AppCompatImageButtonDeclaration
@HikageViewDeclaration(AppCompatEditText::class)
private object AppCompatEditTextDeclaration
@HikageViewDeclaration(AppCompatActionMenuView::class)
private object AppCompatActionMenuViewDeclaration
@HikageViewDeclaration(AppCompatImageView::class)
private object AppCompatImageViewDeclaration
@HikageViewDeclaration(AppCompatButton::class)
private object AppCompatButtonDeclaration
@HikageViewDeclaration(AppCompatSeekBar::class)
private object AppCompatSeekBarDeclaration
@HikageViewDeclaration(AppCompatCheckBox::class)
private object AppCompatCheckBoxDeclaration
@HikageViewDeclaration(AppCompatTextView::class)
private object AppCompatTextViewDeclaration
@HikageViewDeclaration(AppCompatToggleButton::class)
private object AppCompatToggleButtonDeclaration
@HikageViewDeclaration(AppCompatToolbar::class, AppCompatToolbar.LayoutParams::class)
private object AppCompatToolbarDeclaration
@HikageViewDeclaration(AppCompatCheckedTextView::class)
private object AppCompatCheckedTextViewDeclaration
@HikageViewDeclaration(SwitchCompat::class)
private object SwitchCompatDeclaration
@HikageViewDeclaration(AppCompatSearchView::class)
private object AppCompatSearchViewDeclaration
@HikageViewDeclaration(LinearLayoutCompat::class, LinearLayoutCompat.LayoutParams::class)
private object LinearLayoutCompatDeclaration
@HikageViewDeclaration(AppCompatAutoCompleteTextView::class)
private object AppCompatAutoCompleteTextViewDeclaration
@HikageViewDeclaration(AppCompatSpinner::class)
private object AppCompatSpinnerDeclaration
@HikageViewDeclaration(AppCompatMultiAutoCompleteTextView::class)
private object AppCompatMultiAutoCompleteTextViewDeclaration

View File

@@ -0,0 +1,32 @@
/*
* Hikage - An Android responsive UI building tool.
* Copyright (C) 2019 HighCapable
* https://github.com/BetterAndroid/Hikage
*
* Apache License Version 2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* This file is created by fankes on 2025/2/26.
*/
@file:Suppress("unused")
@file:JvmName("CardViewDeclaration")
package com.highcapable.hikage.widget.androidx.cardview
import android.widget.FrameLayout
import androidx.cardview.widget.CardView
import com.highcapable.hikage.annotation.HikageViewDeclaration
@HikageViewDeclaration(CardView::class, FrameLayout.LayoutParams::class)
private object CardViewDeclaration

View File

@@ -0,0 +1,31 @@
/*
* Hikage - An Android responsive UI building tool.
* Copyright (C) 2019 HighCapable
* https://github.com/BetterAndroid/Hikage
*
* Apache License Version 2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* This file is created by fankes on 2025/2/26.
*/
@file:Suppress("unused")
@file:JvmName("ConstraintLayoutDeclaration")
package com.highcapable.hikage.widget.androidx.constraintlayout
import androidx.constraintlayout.widget.ConstraintLayout
import com.highcapable.hikage.annotation.HikageViewDeclaration
@HikageViewDeclaration(ConstraintLayout::class, ConstraintLayout.LayoutParams::class)
private object ConstraintLayoutDeclaration

View File

@@ -0,0 +1,31 @@
/*
* Hikage - An Android responsive UI building tool.
* Copyright (C) 2019 HighCapable
* https://github.com/BetterAndroid/Hikage
*
* Apache License Version 2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* This file is created by fankes on 2025/2/26.
*/
@file:Suppress("unused")
@file:JvmName("CoordinatorLayoutDeclaration")
package com.highcapable.hikage.widget.androidx.coordinatorlayout
import androidx.coordinatorlayout.widget.CoordinatorLayout
import com.highcapable.hikage.annotation.HikageViewDeclaration
@HikageViewDeclaration(CoordinatorLayout::class, CoordinatorLayout.LayoutParams::class)
private object CoordinatorLayoutDeclaration

View File

@@ -0,0 +1,36 @@
/*
* Hikage - An Android responsive UI building tool.
* Copyright (C) 2019 HighCapable
* https://github.com/BetterAndroid/Hikage
*
* Apache License Version 2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* This file is created by fankes on 2025/2/27.
*/
@file:Suppress("unused")
@file:JvmName("WidgetsDeclaration")
package com.highcapable.hikage.widget.androidx.core
import android.widget.FrameLayout
import androidx.core.widget.ContentLoadingProgressBar
import androidx.core.widget.NestedScrollView
import com.highcapable.hikage.annotation.HikageViewDeclaration
@HikageViewDeclaration(NestedScrollView::class, FrameLayout.LayoutParams::class)
private object NestedScrollViewDeclaration
@HikageViewDeclaration(ContentLoadingProgressBar::class)
private object ContentLoadingProgressBarDeclaration

View File

@@ -0,0 +1,31 @@
/*
* Hikage - An Android responsive UI building tool.
* Copyright (C) 2019 HighCapable
* https://github.com/BetterAndroid/Hikage
*
* Apache License Version 2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* This file is created by fankes on 2025/2/26.
*/
@file:Suppress("unused")
@file:JvmName("DrawerLayoutDeclaration")
package com.highcapable.hikage.widget.androidx.drawerlayout
import androidx.drawerlayout.widget.DrawerLayout
import com.highcapable.hikage.annotation.HikageViewDeclaration
@HikageViewDeclaration(DrawerLayout::class, DrawerLayout.LayoutParams::class)
private object DrawerLayoutDeclaration

View File

@@ -0,0 +1,31 @@
/*
* Hikage - An Android responsive UI building tool.
* Copyright (C) 2019 HighCapable
* https://github.com/BetterAndroid/Hikage
*
* Apache License Version 2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* This file is created by fankes on 2025/2/26.
*/
@file:Suppress("unused")
@file:JvmName("RecyclerViewDeclaration")
package com.highcapable.hikage.widget.androidx.recyclerview
import androidx.recyclerview.widget.RecyclerView
import com.highcapable.hikage.annotation.HikageViewDeclaration
@HikageViewDeclaration(RecyclerView::class, RecyclerView.LayoutParams::class)
private object RecyclerViewDeclaration

View File

@@ -0,0 +1,31 @@
/*
* Hikage - An Android responsive UI building tool.
* Copyright (C) 2019 HighCapable
* https://github.com/BetterAndroid/Hikage
*
* Apache License Version 2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* This file is created by fankes on 2025/2/26.
*/
@file:Suppress("unused")
@file:JvmName("SlidingPaneLayoutDeclaration")
package com.highcapable.hikage.widget.androidx.slidingpanelayout
import androidx.slidingpanelayout.widget.SlidingPaneLayout
import com.highcapable.hikage.annotation.HikageViewDeclaration
@HikageViewDeclaration(SlidingPaneLayout::class, SlidingPaneLayout.LayoutParams::class)
private object SlidingPaneLayoutDeclaration

View File

@@ -0,0 +1,31 @@
/*
* Hikage - An Android responsive UI building tool.
* Copyright (C) 2019 HighCapable
* https://github.com/BetterAndroid/Hikage
*
* Apache License Version 2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* This file is created by fankes on 2025/2/26.
*/
@file:Suppress("unused")
@file:JvmName("SwipeRefreshLayoutDeclaration")
package com.highcapable.hikage.widget.androidx.swiperefreshlayout
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import com.highcapable.hikage.annotation.HikageViewDeclaration
@HikageViewDeclaration(SwipeRefreshLayout::class)
private object SwipeRefreshLayoutDeclaration

View File

@@ -0,0 +1,35 @@
/*
* Hikage - An Android responsive UI building tool.
* Copyright (C) 2019 HighCapable
* https://github.com/BetterAndroid/Hikage
*
* Apache License Version 2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* This file is created by fankes on 2025/2/26.
*/
@file:Suppress("unused")
@file:JvmName("ViewPagerDeclaration")
package com.highcapable.hikage.widget.androidx.viewpager
import androidx.viewpager.widget.ViewPager
import androidx.viewpager2.widget.ViewPager2
import com.highcapable.hikage.annotation.HikageViewDeclaration
@HikageViewDeclaration(ViewPager::class, ViewPager.LayoutParams::class)
private object ViewPagerDeclaration
@HikageViewDeclaration(ViewPager2::class)
private object ViewPager2Declaration

View File

@@ -0,0 +1,18 @@
package com.highcapable.hikage
import org.junit.Test
import org.junit.Assert.*
/**
* Example local unit test, which will execute on the development machine (host).
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
class ExampleUnitTest {
@Test
fun addition_isCorrect() {
assertEquals(4, 2 + 2)
}
}