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

Bring over latest files from flutter/packages #46

Merged
merged 4 commits into from
Jun 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading