Skip to content
This repository has been archived by the owner on Oct 18, 2024. It is now read-only.

Commit

Permalink
Bring over latest files from flutter/packages (#46)
Browse files Browse the repository at this point in the history
* Bring over latest files from flutter/packages
* Replace Flutter example with Dart example
  • Loading branch information
mit-mit authored Jun 10, 2024
1 parent 9cf7663 commit 0a7f0ce
Show file tree
Hide file tree
Showing 14 changed files with 162 additions and 72 deletions.
63 changes: 44 additions & 19 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,82 +1,107 @@
### 3.1.0
## NEXT

* Updates minimum supported SDK version to Flutter 3.16/Dart 3.2.
* Transfers the package source from https://github.com/flutter/packages
to https://github.com/dart-lang/platform.

## 3.1.4

* Updates minimum supported SDK version to Flutter 3.10/Dart 3.0.
* Fixes new lint warnings.

## 3.1.3

* Adds example app.

## 3.1.2

* Adds pub topics to package metadata.
* Updates minimum supported SDK version to Flutter 3.7/Dart 2.19.

## 3.1.1

* Transfers the package source from https://github.com/google/platform.dart to
https://github.com/flutter/packages.

## 3.1.0

* Removed `Platform.packageRoot`, which was already marked deprecated, and which
didn't work in Dart 2.

### 3.0.2
## 3.0.2

* Added `FakePlatform.copyWith` function.

### 3.0.1
## 3.0.1

* Added string constants for each of the supported platforms for use in switch
statements.

### 3.0.0
## 3.0.0

* First stable null safe release.

### 3.0.0-nullsafety.4
## 3.0.0-nullsafety.4

* Update supported SDK range.

### 3.0.0-nullsafety.3
## 3.0.0-nullsafety.3

* Update supported SDK range.

### 3.0.0-nullsafety.2
## 3.0.0-nullsafety.2

* Update supported SDK range.

### 3.0.0-nullsafety.1
## 3.0.0-nullsafety.1

* Migrate package to null-safe dart.

### 2.2.1
## 2.2.1

* Add `operatingSystemVersion`

### 2.2.0
## 2.2.0

* Declare compatibility with Dart 2 stable
* Update dependency on `package:test` to 1.0

### 2.1.2
## 2.1.2

* Relax sdk upper bound constraint to '<2.0.0' to allow 'edge' dart sdk use.

### 2.1.1
## 2.1.1

* Bumped maximum Dart SDK version to 2.0.0-dev.infinity

### 2.1.0
## 2.1.0

* Added `localeName`
* Bumped minimum Dart SDK version to 1.24.0-dev.0.0

### 2.0.0
## 2.0.0

* Added `stdinSupportsAnsi` and `stdinSupportsAnsi`
* Removed `ansiSupported`

### 1.1.1
## 1.1.1

* Updated `LocalPlatform` to use new `dart.io` API for ansi color support queries
* Bumped minimum Dart SDK version to 1.23.0-dev.10.0

### 1.1.0
## 1.1.0

* Added `ansiSupported`
* Bumped minimum Dart SDK version to 1.23.0-dev.9.0

#### 1.0.2
## 1.0.2

* Minor doc updates

#### 1.0.1
## 1.0.1

* Added const constructors for `Platform` and `LocalPlatform`

#### 1.0.0
## 1.0.0

* Initial version
7 changes: 0 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,5 @@
[![Pub](https://img.shields.io/pub/v/platform.svg)](https://pub.dartlang.org/packages/platform)

## Moved

The source for the `platform` package has moved to [the `flutter/packages`
repository](https://github.com/flutter/packages/tree/main/packages/platform).

-----

A generic platform abstraction for Dart.

Like `dart:io`, `package:platform` supplies a rich, Dart-idiomatic API for
Expand Down
2 changes: 1 addition & 1 deletion analysis_options.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
include: package:lints/recommended.yaml
include: package:dart_flutter_team_lints/analysis_options.yaml

analyzer:
errors:
Expand Down
3 changes: 3 additions & 0 deletions example/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# https://dart.dev/guides/libraries/private-files
# Created by `dart pub`
.dart_tool/
2 changes: 2 additions & 0 deletions example/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
A small example application demonstrating how to use the platform information
APIs in `package:platform`.
30 changes: 30 additions & 0 deletions example/analysis_options.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# This file configures the static analysis results for your project (errors,
# warnings, and lints).
#
# This enables the 'recommended' set of lints from `package:lints`.
# This set helps identify many issues that may lead to problems when running
# or consuming Dart code, and enforces writing Dart using a single, idiomatic
# style and format.
#
# If you want a smaller set of lints you can change this to specify
# 'package:lints/core.yaml'. These are just the most critical lints
# (the recommended set includes the core lints).
# The core lints are also what is used by pub.dev for scoring packages.

include: package:lints/recommended.yaml

# Uncomment the following section to specify additional rules.

# linter:
# rules:
# - camel_case_types

# analyzer:
# exclude:
# - path/to/excluded/files/**

# For more information about the core and recommended set of lints, see
# https://dart.dev/go/core-lints

# For additional information about configuring this file, see
# https://dart.dev/guides/language/analysis-options
15 changes: 15 additions & 0 deletions example/bin/example.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import 'package:platform/platform.dart';

void main(List<String> arguments) {
const LocalPlatform platform = LocalPlatform();

print('Operating System: ${platform.operatingSystem}.');
print('Local Hostname: ${platform.localHostname}.');
print('Number of Processors: ${platform.numberOfProcessors}.');
print('Path Separator: ${platform.pathSeparator}.');
print('Locale Name: ${platform.localeName}.');
print('Stdin Supports ANSI: ${platform.stdinSupportsAnsi}.');
print('Stdout Supports ANSI: ${platform.stdoutSupportsAnsi}.');
print('Executable Arguments: ${platform.executableArguments}.');
print('Dart Version: ${platform.version}.');
}
14 changes: 14 additions & 0 deletions example/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: example
description: Demonstrates how to use the platform api.
version: 1.0.0
publish_to: none

environment:
sdk: ^3.2.0

dependencies:
platform:
path: ../

dev_dependencies:
lints: ^4.0.0
8 changes: 4 additions & 4 deletions lib/platform.dart
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

/// Core interfaces & classes.
// Core interfaces & classes.
export 'src/interface/local_platform.dart';
export 'src/interface/platform.dart';
export 'src/testing/fake_platform.dart';
6 changes: 3 additions & 3 deletions lib/src/interface/local_platform.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'dart:io' as io show Platform, stdin, stdout;

Expand Down
6 changes: 3 additions & 3 deletions lib/src/interface/platform.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'dart:convert';

Expand Down
45 changes: 24 additions & 21 deletions lib/src/testing/fake_platform.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'dart:convert';

Expand All @@ -12,7 +12,7 @@ class FakePlatform extends Platform {
///
/// Unspecified properties will *not* be assigned default values (they will
/// remain `null`). If an unset non-null value is read, a [StateError] will
/// be thrown instead of returnin `null`.
/// be thrown instead of returning `null`.
FakePlatform({
int? numberOfProcessors,
String? pathSeparator,
Expand Down Expand Up @@ -69,27 +69,30 @@ class FakePlatform extends Platform {
/// [json] must be a JSON string that matches the encoding produced by
/// [toJson].
factory FakePlatform.fromJson(String json) {
Map<String, dynamic> map = JsonDecoder().convert(json);
final map = const JsonDecoder().convert(json) as Map<String, dynamic>;
return FakePlatform(
numberOfProcessors: map['numberOfProcessors'],
pathSeparator: map['pathSeparator'],
operatingSystem: map['operatingSystem'],
operatingSystemVersion: map['operatingSystemVersion'],
localHostname: map['localHostname'],
environment: map['environment'].cast<String, String>(),
executable: map['executable'],
resolvedExecutable: map['resolvedExecutable'],
script: Uri.parse(map['script']),
executableArguments: map['executableArguments'].cast<String>(),
packageConfig: map['packageConfig'],
version: map['version'],
stdinSupportsAnsi: map['stdinSupportsAnsi'],
stdoutSupportsAnsi: map['stdoutSupportsAnsi'],
localeName: map['localeName'],
numberOfProcessors: map['numberOfProcessors'] as int?,
pathSeparator: map['pathSeparator'] as String?,
operatingSystem: map['operatingSystem'] as String?,
operatingSystemVersion: map['operatingSystemVersion'] as String?,
localHostname: map['localHostname'] as String?,
environment:
(map['environment'] as Map<Object?, Object?>).cast<String, String>(),
executable: map['executable'] as String?,
resolvedExecutable: map['resolvedExecutable'] as String?,
script: Uri.parse(map['script'] as String),
executableArguments:
(map['executableArguments'] as List<Object?>).cast<String>(),
packageConfig: map['packageConfig'] as String?,
version: map['version'] as String?,
stdinSupportsAnsi: map['stdinSupportsAnsi'] as bool?,
stdoutSupportsAnsi: map['stdoutSupportsAnsi'] as bool?,
localeName: map['localeName'] as String?,
);
}

/// Creates a new [FakePlatform] from this one, with some properties replaced by the given properties.
/// Creates a new [FakePlatform] from this one, with some properties replaced
/// by the given properties.
FakePlatform copyWith({
int? numberOfProcessors,
String? pathSeparator,
Expand Down
15 changes: 10 additions & 5 deletions pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
name: platform
version: 3.1.0
description: A pluggable, mockable platform abstraction for Dart.
homepage: https://github.com/google/platform.dart
description: A pluggable, mockable platform information abstraction for Dart.
repository: https://github.com/dart-lang/platform
issue_tracker: https://github.com/dart-lang/platform/issues
version: 3.1.4

environment:
sdk: ">=2.12.0 <3.0.0"
sdk: ^3.2.0

dev_dependencies:
lints: ^1.0.1
dart_flutter_team_lints: ^3.1.0
test: ^1.16.8

topics:
- information
- platform
Loading

0 comments on commit 0a7f0ce

Please sign in to comment.