diff --git a/.travis.yml b/.travis.yml index a9fdeaa96..e1599d287 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,12 +6,12 @@ dart: install: - git clone https://github.com/flutter/flutter.git -b stable --depth 1 - - export PATH=./flutter/bin:$PATH + - export PATH=~/build/parse-community/Parse-SDK-Flutter/flutter/bin:$PATH - flutter doctor script: - - (cd packages/dart && dart pub get) - - (cd packages/dart && dart test test/) + - (cd packages/dart && pub get) + - (cd packages/dart && pub run test) - (cd packages/flutter && flutter pub get) - (cd packages/flutter && flutter test --no-pub test/) diff --git a/docs/migrate-1-0-28.md b/docs/migrate-1-0-28.md new file mode 100644 index 000000000..b6ae4fda4 --- /dev/null +++ b/docs/migrate-1-0-28.md @@ -0,0 +1,49 @@ +# Migrate your Flutter application to version 1.0.28 + +Starting with version 1.0.28, this repository is now separated in a pure dart (parse_server_sdk) and a flutter package (parse_server_sdk_flutter). +This was done in order to provide a dart package for the parse-server, while keeping maintenance simple. +You can find both packages in the package directory. + +### 1. pubspec.yaml +In your projects pubspec.yaml at the dependencies section, you have to change +``` +dependencies: + parse_server_sdk: ^1.0.27 +``` +to +``` +dependencies: + parse_server_sdk_flutter: ^1.0.28 +``` +This is the current released version of the parse_server_sdk_flutter package: [![pub package](https://img.shields.io/pub/v/parse_server_sdk_flutter.svg)](https://pub.dev/packages/parse_server_sdk_flutter) + +### 2. imports +As the package name changed, you have to change +``` +import 'package:parse_server_sdk/parse_server_sdk.dart'; +``` + to +``` +import 'package:parse_server_sdk_flutter/parse_server_sdk.dart'; +``` +in every file. + +It is recommended to do so by the replacement feature of your IDE. + +### optional: provide app information on web +As flutter web is now in beta, this SDK aims to be web compatible. +But there are some parts completely different on web. For example, the wep-app cant determine it's name, version or packagename. +That's why you should provide this information on web. +```dart +Parse().initialize( + ... + appName: kIsWeb ? "MyApplication" : null, + appVersion: kIsWeb ? "Version 1" : null, + appPackageName: kIsWeb ? "com.example.myapplication" : null, +); +``` + +### changed network library +In order to provide a `ProgressCallback` for heavy file operations, +the network library was switched from [http](https://pub.dev/packages/http) to [dio](https://pub.dev/packages/dio). +There should be no breaking changes regarding this change, except if you are overriding the `ParseHTTPClient`. \ No newline at end of file diff --git a/example/.vscode/launch.json b/example/.vscode/launch.json deleted file mode 100644 index 5086a1da4..000000000 --- a/example/.vscode/launch.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Flutter Desktop Attach", - "request": "attach", - "observatoryUri": "http://127.0.0.1:52878/UWW_6_X9Y74=/", - "type": "dart" - } - ] -} \ No newline at end of file diff --git a/example/android/gradle/wrapper/gradle-wrapper.jar b/example/android/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 13372aef5..000000000 Binary files a/example/android/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/example/android/gradlew b/example/android/gradlew deleted file mode 100755 index 9d82f7891..000000000 --- a/example/android/gradlew +++ /dev/null @@ -1,160 +0,0 @@ -#!/usr/bin/env bash - -############################################################################## -## -## Gradle start up script for UN*X -## -############################################################################## - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn ( ) { - echo "$*" -} - -die ( ) { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; -esac - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=$((i+1)) - done - case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") -} -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" - -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/packages/flutter/lib/parse_server_sdk.dart b/packages/flutter/lib/parse_server_sdk.dart index 96ff1f398..a0b26e1ee 100644 --- a/packages/flutter/lib/parse_server_sdk.dart +++ b/packages/flutter/lib/parse_server_sdk.dart @@ -91,9 +91,8 @@ class Parse extends sdk.Parse parseUserConstructor: parseUserConstructor, parseFileConstructor: parseFileConstructor, connectivityProvider: connectivityProvider ?? this, - fileDirectory: fileDirectory ?? !sdk.parseIsWeb - ? (await getTemporaryDirectory()).path - : null, + fileDirectory: fileDirectory ?? + (!sdk.parseIsWeb ? (await getTemporaryDirectory()).path : null), appResumedStream: appResumedStream ?? _appResumedStreamController.stream, ); }