Skip to content

Commit

Permalink
Merge pull request #149 from bugsnag/releases/v2.1.1
Browse files Browse the repository at this point in the history
v2.1.1
  • Loading branch information
nickdowell committed Jun 28, 2022
2 parents c276b67 + b729b32 commit ec25daa
Show file tree
Hide file tree
Showing 146 changed files with 2,058 additions and 83 deletions.
20 changes: 10 additions & 10 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,12 @@ steps:
FLUTTER_BIN: "/opt/flutter/2.5.0/bin/flutter"
commands:
- pod repo update
- make example
- make examples/flutter
# Verify that App.framework's UUID (and therefore our `codeIdentifier`) changes when Dart code is touched
- dwarfdump --arch=arm64 --uuid example/build/ios/iphoneos/Runner.app/Frameworks/App.framework/App | tee uuid_before
- sed -i '' -e 's/add_your_api_key_here/my_api_key/' example/lib/main.dart
- make example
- dwarfdump --arch=arm64 --uuid example/build/ios/iphoneos/Runner.app/Frameworks/App.framework/App | tee uuid_after
- dwarfdump --arch=arm64 --uuid examples/flutter/build/ios/iphoneos/Runner.app/Frameworks/App.framework/App | tee uuid_before
- sed -i '' -e 's/add_your_api_key_here/my_api_key/' examples/flutter/lib/main.dart
- make examples/flutter
- dwarfdump --arch=arm64 --uuid examples/flutter/build/ios/iphoneos/Runner.app/Frameworks/App.framework/App | tee uuid_after
- test "$(cat uuid_before)" != "$(cat uuid_after)"

- label: Build Example App 3.0.1
Expand All @@ -51,12 +51,12 @@ steps:
FLUTTER_BIN: "/opt/flutter/3.0.1/bin/flutter"
commands:
- pod repo update
- make example
- make examples/flutter
# Verify that App.framework's UUID (and therefore our `codeIdentifier`) changes when Dart code is touched
- dwarfdump --arch=arm64 --uuid example/build/ios/iphoneos/Runner.app/Frameworks/App.framework/App | tee uuid_before
- sed -i '' -e 's/add_your_api_key_here/my_api_key/' example/lib/main.dart
- make example
- dwarfdump --arch=arm64 --uuid example/build/ios/iphoneos/Runner.app/Frameworks/App.framework/App | tee uuid_after
- dwarfdump --arch=arm64 --uuid examples/flutter/build/ios/iphoneos/Runner.app/Frameworks/App.framework/App | tee uuid_before
- sed -i '' -e 's/add_your_api_key_here/my_api_key/' examples/flutter/lib/main.dart
- make examples/flutter
- dwarfdump --arch=arm64 --uuid examples/flutter/build/ios/iphoneos/Runner.app/Frameworks/App.framework/App | tee uuid_after
- test "$(cat uuid_before)" != "$(cat uuid_after)"

#
Expand Down
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Changelog

## 2.1.1 (2022-06-28)

- Added `BugsnagFlutterConfiguration` to allow `bugsnag.attach` behaviour to be configured from native code.
[#145](https://github.com/bugsnag/bugsnag-flutter/pull/145)
- Update bugsnag-android from v5.22.1 to [v5.23.1](https://github.com/bugsnag/bugsnag-android/blob/master/CHANGELOG.md#5231-2022-06-23)
- Update bugsnag-cocoa from v6.16.8 to [v6.18.1](https://github.com/bugsnag/bugsnag-cocoa/blob/master/CHANGELOG.md#6181-2022-06-22)

## 2.1.0 (2022-06-14)

- Networking breadcrumbs can now be easily captured by using the `bugsnag_breadcrumbs_http` or `bugsnag_breadcrumbs_dart_io` packages
Expand Down
14 changes: 8 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,20 @@ FLUTTER_BIN?=flutter

all: format build lint test

.PHONY: clean build bump aar example test format lint e2e_android_local e2e_ios_local
.PHONY: clean build bump aar examples/flutter test format lint e2e_android_local e2e_ios_local

clean:
cd packages/bugsnag_flutter && $(FLUTTER_BIN) clean --suppress-analytics
cd packages/bugsnag_breadcrumbs_dart_io && $(FLUTTER_BIN) clean --suppress-analytics
cd packages/bugsnag_breadcrumbs_http && $(FLUTTER_BIN) clean --suppress-analytics
cd example && $(FLUTTER_BIN) clean --suppress-analytics && \
cd examples/flutter && $(FLUTTER_BIN) clean --suppress-analytics && \
rm -rf .idea bugsnag_flutter_example.iml \
ios/{Pods,.symlinks,Podfile.lock} \
ios/{Runner.xcworkspace,Runner.xcodeproj,Runner.xcodeproj/project.xcworkspace}/xcuserdata \
android/{.idea,.gradle,gradlew,gradlew.bat,local.properties,bugsnag_flutter_example_android.iml}
rm -rf staging

build: aar example
build: aar examples/flutter

bump: ## Bump the version numbers to $VERSION
ifeq ($(VERSION),)
Expand All @@ -31,7 +31,7 @@ staging/bugsnag_flutter:
mkdir -p staging/bugsnag_flutter
cd packages/bugsnag_flutter && cp -a . ../../staging/bugsnag_flutter
rm -f staging/bugsnag_flutter/pubspec.lock
cp -r example staging/bugsnag_flutter/example
cp -r examples staging/bugsnag_flutter/examples
cp README.md staging/bugsnag_flutter/.
cp LICENSE staging/bugsnag_flutter/.
cp CHANGELOG.md staging/bugsnag_flutter/.
Expand All @@ -54,8 +54,10 @@ stage: clean staging/bugsnag_flutter staging/bugsnag_breadcrumbs_dart_io staging
aar:
cd packages/bugsnag_flutter && $(FLUTTER_BIN) build aar --suppress-analytics

example:
cd example && $(FLUTTER_BIN) build apk --suppress-analytics && $(FLUTTER_BIN) build ios --no-codesign --suppress-analytics
examples/flutter:
cd $@ && $(FLUTTER_BIN) pub get
cd $@ && $(FLUTTER_BIN) build apk --suppress-analytics
cd $@ && $(FLUTTER_BIN) build ios --no-codesign --suppress-analytics

test:
cd packages/bugsnag_flutter && $(FLUTTER_BIN) test -r expanded --suppress-analytics
Expand Down
File renamed without changes.
File renamed without changes.
4 changes: 2 additions & 2 deletions example/README.md → examples/flutter/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Example Flutter application with Bugsnag

Demonstrates how to use the bugsnag_flutter package.
Demonstrates how to use the bugsnag_flutter package in a Flutter-based app.

## Getting Started

* Install the Flutter extension for Visual Studio Code and open the `/example` directory
* Install the Flutter extension for Visual Studio Code and open the `/examples/flutter` directory
* Insert your API key into `lib/main.dart`
* With `lib/main.dart` open in Visual Studio Code, click "Run" above the `main` function

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -43,5 +43,7 @@
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<true/>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
</dict>
</plist>
File renamed without changes.
File renamed without changes.
File renamed without changes.
6 changes: 3 additions & 3 deletions example/pubspec.yaml → examples/flutter/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,13 @@ dependencies:
# See https://dart.dev/tools/pub/dependencies#version-constraints
# The example app is bundled with the plugin so we use a path dependency on
# the parent directory to use the current plugin's version.
path: ../packages/bugsnag_flutter
path: ../../packages/bugsnag_flutter

bugsnag_breadcrumbs_dart_io:
path: ../packages/bugsnag_breadcrumbs_dart_io
path: ../../packages/bugsnag_breadcrumbs_dart_io

bugsnag_breadcrumbs_http:
path: ../packages/bugsnag_breadcrumbs_http
path: ../../packages/bugsnag_breadcrumbs_http

# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
Expand Down
9 changes: 9 additions & 0 deletions examples/native/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Example Native applications with Bugsnag

Demonstrates how to use the `bugsnag_flutter` package in Android or iOS apps that integrate Flutter-based screens.

## Getting Started

See the platform-specific READMEs
* [android/README.md](android/README.md)
* [ios/README.md](ios/README.md)
15 changes: 15 additions & 0 deletions examples/native/android/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
local.properties
9 changes: 9 additions & 0 deletions examples/native/android/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Example Android app with bugsnag_flutter

An example Android app that embeds Flutter and uses Bugsnag (Cocoa) and bugsnag_flutter.

## Getting Started

* Insert your API key into the `com.bugsnag.android.API_KEY` meta-data of `app/src/main/AndroidManifest.xml`.
* Run `flutter build apk` from `bugsnag-flutter/examples/native/example_flutter` to bootstrap the project
* Open this directory in Android Studio.
1 change: 1 addition & 0 deletions examples/native/android/app/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/build
50 changes: 50 additions & 0 deletions examples/native/android/app/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
plugins {
id 'com.android.application'
id 'com.bugsnag.android.gradle'
id 'org.jetbrains.kotlin.android'
}

android {
compileSdk 32

defaultConfig {
applicationId "com.example.bugsnag.flutter.android"
minSdk 21
targetSdk 32
versionCode 1
versionName "1.0"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
buildFeatures {
viewBinding true
}
}

dependencies {
implementation project(':flutter')
implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'com.bugsnag:bugsnag-android:5.+'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5'
implementation 'androidx.navigation:navigation-ui-ktx:2.3.5'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}
21 changes: 21 additions & 0 deletions examples/native/android/app/proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -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
35 changes: 35 additions & 0 deletions examples/native/android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.bugsnag.flutter.android">

<application
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.BugsnagFlutter"
android:name=".ExampleApp"
tools:targetApi="31">
<meta-data
android:name="com.bugsnag.android.API_KEY"
android:value="your-api-key-here" />
<activity
android:name=".MainActivity"
android:exported="true"
android:label="@string/app_name"
android:theme="@style/Theme.BugsnagFlutter.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="io.flutter.embedding.android.FlutterActivity"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize"
/>
</application>

</manifest>
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package com.example.bugsnag.flutter.android

import android.app.Application
import com.bugsnag.android.Bugsnag
import com.bugsnag.flutter.BugsnagFlutterConfiguration

class ExampleApp : Application() {
override fun onCreate() {
super.onCreate()

// Start Bugsnag Android SDK
Bugsnag.start(this)

// Uncomment to disable automatic detection of Dart errors:
// BugsnagFlutterConfiguration.enabledErrorTypes.dartErrors = false
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.example.bugsnag.flutter.android

import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import io.flutter.embedding.android.FlutterActivity

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

setContentView(R.layout.activity_main);
}

fun showFlutterView(view: View) {
startActivity(FlutterActivity.createDefaultIntent(applicationContext))
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
<aapt:attr name="android:fillColor">
<gradient
android:endX="85.84757"
android:endY="92.4963"
android:startX="42.9492"
android:startY="49.59793"
android:type="linear">
<item
android:color="#44000000"
android:offset="0.0" />
<item
android:color="#00000000"
android:offset="1.0" />
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
android:strokeWidth="1"
android:strokeColor="#00000000" />
</vector>

0 comments on commit ec25daa

Please sign in to comment.