diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
index 30aa626..ae78c11 100644
--- a/.idea/codeStyles/Project.xml
+++ b/.idea/codeStyles/Project.xml
@@ -1,29 +1,113 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+ xmlns:android
+
+ ^$
+
+
+
+
+
+
+
+
+ xmlns:.*
+
+ ^$
+
+
+ BY_NAME
+
+
+
+
+
+
+ .*:id
+
+ http://schemas.android.com/apk/res/android
+
+
+
+
+
+
+
+
+ .*:name
+
+ http://schemas.android.com/apk/res/android
+
+
+
+
+
+
+
+
+ name
+
+ ^$
+
+
+
+
+
+
+
+
+ style
+
+ ^$
+
+
+
+
+
+
+
+
+ .*
+
+ ^$
+
+
+ BY_NAME
+
+
+
+
+
+
+ .*
+
+ http://schemas.android.com/apk/res/android
+
+
+ ANDROID_ATTRIBUTE_ORDER
+
+
+
+
+
+
+ .*
+
+ .*
+
+
+ BY_NAME
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..9147562
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 7ac24c7..9bba60d 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -1,8 +1,10 @@
+
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000..8bd3a09
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 37a7509..7bfef59 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,6 +1,6 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 9908c7a..2c6a30f 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,14 +1,16 @@
apply plugin: 'com.android.application'
+apply plugin: 'kotlin-android'
+apply plugin: 'kotlin-android-extensions'
android {
- compileSdkVersion 28
+ compileSdkVersion 29
defaultConfig {
applicationId "com.droidbyme.bottomsheet"
minSdkVersion 19
- targetSdkVersion 28
+ targetSdkVersion 29
versionCode 1
versionName "1.0"
- testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+ testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
}
buildTypes {
release {
@@ -20,10 +22,15 @@ android {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
- implementation 'com.android.support:appcompat-v7:28.0.0'
- implementation 'com.android.support:design:28.0.0'
- implementation 'com.android.support.constraint:constraint-layout:1.1.3'
- testImplementation 'junit:junit:4.12'
- androidTestImplementation 'com.android.support.test:runner:1.0.2'
- androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
+ implementation 'androidx.appcompat:appcompat:1.1.0'
+ implementation 'com.google.android.material:material:1.1.0'
+ implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
+ testImplementation 'junit:junit:4.13'
+ androidTestImplementation 'androidx.test.ext:junit:1.1.1'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
+ implementation "androidx.core:core-ktx:1.2.0"
+ implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
+}
+repositories {
+ jcenter()
}
diff --git a/app/src/androidTest/java/com/droidbyme/bottomsheet/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/droidbyme/bottomsheet/ExampleInstrumentedTest.java
index bd51726..7d7f23f 100644
--- a/app/src/androidTest/java/com/droidbyme/bottomsheet/ExampleInstrumentedTest.java
+++ b/app/src/androidTest/java/com/droidbyme/bottomsheet/ExampleInstrumentedTest.java
@@ -1,8 +1,8 @@
package com.droidbyme.bottomsheet;
import android.content.Context;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.platform.app.InstrumentationRegistry;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index ae0f174..a42dd99 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -11,7 +11,7 @@
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:ignore="GoogleAppIndexingWarning">
-
+
diff --git a/app/src/main/java/com/droidbyme/bottomsheet/BottomSheetFragment.java b/app/src/main/java/com/droidbyme/bottomsheet/BottomSheetFragment.java
deleted file mode 100644
index a5dabdf..0000000
--- a/app/src/main/java/com/droidbyme/bottomsheet/BottomSheetFragment.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.droidbyme.bottomsheet;
-
-import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.design.widget.BottomSheetDialogFragment;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-public class BottomSheetFragment extends BottomSheetDialogFragment {
-
- public BottomSheetFragment() {
-
- }
-
- @Override
- public void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- }
-
- @Nullable
- @Override
- public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
- return inflater.inflate(R.layout.bottom_sheet, container, false);
- }
-}
diff --git a/app/src/main/java/com/droidbyme/bottomsheet/BottomSheetFragment.kt b/app/src/main/java/com/droidbyme/bottomsheet/BottomSheetFragment.kt
new file mode 100644
index 0000000..2ef3d97
--- /dev/null
+++ b/app/src/main/java/com/droidbyme/bottomsheet/BottomSheetFragment.kt
@@ -0,0 +1,69 @@
+package com.droidbyme.bottomsheet
+
+import android.app.Dialog
+import android.content.DialogInterface
+import android.os.Bundle
+import android.util.Log
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.FrameLayout
+import android.widget.ImageView
+import android.widget.Toast
+import com.google.android.material.bottomsheet.BottomSheetBehavior
+import com.google.android.material.bottomsheet.BottomSheetDialog
+import com.google.android.material.bottomsheet.BottomSheetDialogFragment
+
+class BottomSheetFragment : BottomSheetDialogFragment() {
+
+ /** ⚽️ This method is sufficient if you only need to set contentView and manipulate views */
+ override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
+ val view = inflater.inflate(R.layout.bottom_sheet_2, container, false)
+ view.findViewById(R.id.imageView).setOnClickListener{
+ Toast.makeText(context, "clicked", Toast.LENGTH_SHORT).show()
+ }
+ return view
+ }
+
+ /** 🏵 This method is needed if you want to set callback method which is triggered when the bottom sheet dialog is shown. Then you can watch state changes */
+ /** In addition, you can set the layout in onCreateDialog() method, then you can remove the above onCreateView() method.
+ * val dialog = super.onCreateDialog(savedInstanceState) as BottomSheetDialog
+ * val view = View.inflate(context, R.layout.fragment_bottomsheet3, null)
+ * dialog.setContentView(view)
+ */
+ override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
+
+ val dialog = super.onCreateDialog(savedInstanceState) as BottomSheetDialog
+
+ dialog.setOnShowListener(DialogInterface.OnShowListener { dialogInterface ->
+ val b = dialogInterface as BottomSheetDialog
+ val b2 = b.findViewById(R.id.design_bottom_sheet)
+
+ b2?.let{
+ val bottomSheetBehavior = BottomSheetBehavior.from(it)
+ bottomSheetBehavior.addBottomSheetCallback(object : BottomSheetBehavior.BottomSheetCallback(){
+ override fun onSlide(bottomSheet: View, slideOffset: Float) {
+ Log.d("test123", "onSlide: $slideOffset")
+ }
+
+ override fun onStateChanged(bottomSheet: View, newState: Int) {
+ Log.d("test123", "onStateChanged: $newState")
+ }
+
+ })
+ }
+ })
+ return dialog
+ }
+
+ /** 🪂 It is also possible to set layout using only setupDialog() method */
+ /*override fun setupDialog(dialog: Dialog, style: Int) {
+ val view = View.inflate(context, R.layout.bottom_sheet_2, null)
+
+ view.findViewById(R.id.imageView).setOnClickListener{
+ Toast.makeText(context, "clicked", Toast.LENGTH_SHORT).show()
+ }
+
+ dialog.setContentView(view)
+ }*/
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/droidbyme/bottomsheet/MainActivity.kt b/app/src/main/java/com/droidbyme/bottomsheet/MainActivity.kt
new file mode 100644
index 0000000..4488c5e
--- /dev/null
+++ b/app/src/main/java/com/droidbyme/bottomsheet/MainActivity.kt
@@ -0,0 +1,41 @@
+package com.droidbyme.bottomsheet
+
+import android.content.Intent
+import android.os.Bundle
+import android.view.View
+import androidx.appcompat.app.AppCompatActivity
+import com.google.android.material.bottomsheet.BottomSheetDialog
+import kotlinx.android.synthetic.main.activity_main.*
+
+class MainActivity : AppCompatActivity(), View.OnClickListener {
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+
+ setContentView(R.layout.activity_main)
+
+ btnPersistent.setOnClickListener(this)
+ btnModal.setOnClickListener(this)
+ btnModalFragment.setOnClickListener(this)
+ }
+
+ override fun onClick(view: View) {
+ val intent: Intent
+ when (view.id) {
+ R.id.btnPersistent -> {
+ intent = Intent(this, PersistentActivity::class.java)
+ startActivity(intent)
+ }
+ R.id.btnModal -> {
+ val dialogView = layoutInflater.inflate(R.layout.bottom_sheet_2, null)
+ val dialog = BottomSheetDialog(this)
+ dialog.setContentView(dialogView)
+ dialog.show()
+ }
+ R.id.btnModalFragment -> {
+ val bottomSheetFragment = BottomSheetFragment()
+ bottomSheetFragment.show(supportFragmentManager, bottomSheetFragment.tag)
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/droidbyme/bottomsheet/MenuActivity.java b/app/src/main/java/com/droidbyme/bottomsheet/MenuActivity.java
deleted file mode 100644
index 9e9a177..0000000
--- a/app/src/main/java/com/droidbyme/bottomsheet/MenuActivity.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.droidbyme.bottomsheet;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.support.design.widget.BottomSheetDialog;
-import android.support.v7.app.AppCompatActivity;
-import android.support.v7.widget.Toolbar;
-import android.view.View;
-import android.widget.Button;
-
-public class MenuActivity extends AppCompatActivity implements View.OnClickListener {
-
- private android.widget.Button btnPersistent;
- private android.widget.Button btnModal;
- private android.support.v7.widget.Toolbar toolbar;
- private Button btnModalFragment;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- init();
- }
-
- private void init() {
- setContentView(R.layout.activity_menu);
- this.btnModalFragment = (Button) findViewById(R.id.btnModalFragment);
- this.toolbar = (Toolbar) findViewById(R.id.toolbar);
- toolbar.setTitle("Bottom Sheet");
- this.btnModal = (Button) findViewById(R.id.btnModal);
- this.btnPersistent = (Button) findViewById(R.id.btnPersistent);
-
- btnPersistent.setOnClickListener(this);
- btnModal.setOnClickListener(this);
- btnModalFragment.setOnClickListener(this);
- }
-
- @Override
- public void onClick(View view) {
- Intent intent;
- switch (view.getId()) {
- case R.id.btnPersistent:
- intent = new Intent(this, PersistentActivity.class);
- startActivity(intent);
- break;
-
- case R.id.btnModal:
- View dialogView = getLayoutInflater().inflate(R.layout.bottom_sheet, null);
- BottomSheetDialog dialog = new BottomSheetDialog(this);
- dialog.setContentView(dialogView);
- dialog.show();
- break;
-
- case R.id.btnModalFragment:
- BottomSheetFragment bottomSheetFragment = new BottomSheetFragment();
- bottomSheetFragment.show(getSupportFragmentManager(), bottomSheetFragment.getTag());
- break;
- }
- }
-}
diff --git a/app/src/main/java/com/droidbyme/bottomsheet/PersistentActivity.java b/app/src/main/java/com/droidbyme/bottomsheet/PersistentActivity.java
deleted file mode 100644
index fbcf35a..0000000
--- a/app/src/main/java/com/droidbyme/bottomsheet/PersistentActivity.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package com.droidbyme.bottomsheet;
-
-import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.design.widget.BottomSheetBehavior;
-import android.support.v7.app.AppCompatActivity;
-import android.support.v7.widget.Toolbar;
-import android.view.View;
-import android.widget.Button;
-import android.widget.LinearLayout;
-
-public class PersistentActivity extends AppCompatActivity {
-
- private BottomSheetBehavior sheetBehavior;
- private Toolbar toolbar;
- private Button btn_bottom_sheet;
- private LinearLayout bottom_sheet;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- btn_bottom_sheet = findViewById(R.id.btn_bottom_sheet);
- bottom_sheet = findViewById(R.id.bottom_sheet);
- this.toolbar = (Toolbar) findViewById(R.id.toolbar);
- toolbar.setTitle("Persistent Bottom Sheet");
-
- setSupportActionBar(toolbar);
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
-
- toolbar.setNavigationOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- finish();
- }
- });
-
- sheetBehavior = BottomSheetBehavior.from(bottom_sheet);
-
- btn_bottom_sheet.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if (sheetBehavior.getState() != BottomSheetBehavior.STATE_EXPANDED) {
- sheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
- btn_bottom_sheet.setText("Close sheet");
- } else {
- sheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
- btn_bottom_sheet.setText("Expand sheet");
- }
- }
- });
-
- sheetBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {
- @Override
- public void onStateChanged(@NonNull View view, int newState) {
- switch (newState) {
- case BottomSheetBehavior.STATE_HIDDEN:
- break;
- case BottomSheetBehavior.STATE_EXPANDED: {
- btn_bottom_sheet.setText("Close Sheet");
- }
- break;
- case BottomSheetBehavior.STATE_COLLAPSED: {
- btn_bottom_sheet.setText("Expand Sheet");
- }
- break;
- case BottomSheetBehavior.STATE_DRAGGING:
- break;
- case BottomSheetBehavior.STATE_SETTLING:
- break;
- }
- }
-
- @Override
- public void onSlide(@NonNull View view, float v) {
-
- }
- });
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/droidbyme/bottomsheet/PersistentActivity.kt b/app/src/main/java/com/droidbyme/bottomsheet/PersistentActivity.kt
new file mode 100644
index 0000000..704cf3a
--- /dev/null
+++ b/app/src/main/java/com/droidbyme/bottomsheet/PersistentActivity.kt
@@ -0,0 +1,53 @@
+package com.droidbyme.bottomsheet
+
+import android.os.Bundle
+import android.view.View
+import androidx.appcompat.app.AppCompatActivity
+import com.google.android.material.bottomsheet.BottomSheetBehavior
+import com.google.android.material.bottomsheet.BottomSheetBehavior.BottomSheetCallback
+import kotlinx.android.synthetic.main.activity_persistent.*
+import kotlinx.android.synthetic.main.bottom_sheet.*
+
+class PersistentActivity : AppCompatActivity() {
+ private lateinit var sheetBehavior: BottomSheetBehavior<*>
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_persistent)
+
+ sheetBehavior = BottomSheetBehavior.from(bottom_sheet)
+ btn_bottom_sheet.setOnClickListener(View.OnClickListener {
+ if (sheetBehavior.state != BottomSheetBehavior.STATE_EXPANDED) {
+ sheetBehavior.state = BottomSheetBehavior.STATE_EXPANDED
+ } else {
+ sheetBehavior.state = BottomSheetBehavior.STATE_COLLAPSED
+ }
+ })
+ sheetBehavior.addBottomSheetCallback(object : BottomSheetCallback() {
+ override fun onStateChanged(view: View, newState: Int) {
+ when (newState) {
+ BottomSheetBehavior.STATE_HIDDEN -> {
+ btn_bottom_sheet.text = "STATE_HIDDEN"
+ }
+ BottomSheetBehavior.STATE_EXPANDED -> {
+ btn_bottom_sheet.text = "STATE_EXPANDED"
+ }
+ BottomSheetBehavior.STATE_COLLAPSED -> {
+ btn_bottom_sheet.text = "STATE_COLLAPSED"
+ }
+ BottomSheetBehavior.STATE_DRAGGING -> {
+ btn_bottom_sheet.text = "STATE_DRAGGING"
+ }
+ BottomSheetBehavior.STATE_SETTLING -> {
+ btn_bottom_sheet.text = "STATE_SETTLING"
+ }
+ BottomSheetBehavior.STATE_HALF_EXPANDED -> {
+ btn_bottom_sheet.text = "STATE_HALF_EXPANDED"
+ }
+ }
+ }
+
+ override fun onSlide(view: View, v: Float) {}
+ })
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index d96e187..73469c0 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,28 +1,50 @@
-
+ android:background="#DEDEDE"
+ android:orientation="vertical"
+ tools:context=".MainActivity">
-
+ android:layout_gravity="center"
+ android:layout_margin="16dp"
+ android:background="@color/colorPrimary"
+ android:paddingLeft="16dp"
+ android:paddingRight="16dp"
+ android:text="Persistent Bottom Sheet - BottomSheetBehaviour"
+ android:textAllCaps="false"
+ android:textColor="@color/white" />
-
-
-
-
-
+
-
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_menu.xml b/app/src/main/res/layout/activity_menu.xml
deleted file mode 100644
index b720cb1..0000000
--- a/app/src/main/res/layout/activity_menu.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_persistent.xml b/app/src/main/res/layout/activity_persistent.xml
new file mode 100644
index 0000000..dbfd5b8
--- /dev/null
+++ b/app/src/main/res/layout/activity_persistent.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/bottom_sheet.xml b/app/src/main/res/layout/bottom_sheet.xml
index a3cb44a..80735a9 100644
--- a/app/src/main/res/layout/bottom_sheet.xml
+++ b/app/src/main/res/layout/bottom_sheet.xml
@@ -9,7 +9,7 @@
android:padding="12dp"
app:behavior_hideable="false"
app:behavior_peekHeight="100dp"
- app:layout_behavior="android.support.design.widget.BottomSheetBehavior">
+ app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior">
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/content_main.xml b/app/src/main/res/layout/content_main.xml
deleted file mode 100644
index d542575..0000000
--- a/app/src/main/res/layout/content_main.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/build.gradle b/build.gradle
index 8d3ef8e..25a4e13 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,14 +1,16 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
-
+ ext.kotlin_version = '1.3.72'
+
repositories {
google()
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.2.1'
-
+ classpath 'com.android.tools.build:gradle:3.6.3'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
diff --git a/gradle.properties b/gradle.properties
index 1487463..dbf9c12 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -6,6 +6,8 @@
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
+android.enableJetifier=true
+android.useAndroidX=true
org.gradle.jvmargs=-Xmx1536m
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 9a4163a..0ebb310 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists