Commit Graph

789 Commits

Author SHA1 Message Date
JP Simard 26455e8a3f
Release 4.0.0 2020-08-21 12:02:55 -04:00
JP Simard 3623ce6e2e
Merge pull request #269 from jpsim/ci-test-on-xcode-11.511.6-and-swift-5.3
[CI] Test on Xcode 11.5/11.6
2020-08-21 08:32:31 -07:00
JP Simard 26c5157763
fixup! [CI] Test on Xcode 11.5/11.6 and Swift 5.3 2020-08-21 11:02:46 -04:00
JP Simard f12d04ecf5
[CI] Test on Xcode 11.5/11.6 and Swift 5.3 2020-08-21 10:59:37 -04:00
JP Simard 168d4f3370
Add changelog entry 2020-08-21 10:56:45 -04:00
JP Simard 23f25bf33b
Merge pull request #268 from compnerd/install
build: improve installation
2020-08-21 07:56:37 -07:00
Saleem Abdulrasool cdafa7712f build: improve installation
We would previously fail to install Yams from CMake due to searching for
the swiftmodule in the wrong location.  This uses the new improved
generic installation rules that I've been using in a number of other
projects to install the swift content across all the platforms.
2020-08-17 10:45:17 -07:00
JP Simard 6e6483a6dd
Make YAMLDecoder conform to TopLevelDecoder (#262)
* Add TopLevelDecoder conformance

* fixup! Add TopLevelDecoder conformance

* Support decoding `Data`

- Set `TopLevelDecoder.Input` to `Data`
- Provide `YAMLDecoder.deecode(...)` function taking `Data` as input
- Add tests for `TopLevelDecoder` and `Data` decoding
- Add `Parser.Encoding.swiftStringEncoding` member to convert between the Swift String encoding and the Yams encoding
- Fix warnings with Swift 5.3

* Add TopLevelDecoderTests to CMakeLists.txt

* Only add TopLevelDecoderTests.swift to LinuxMain.swift if Combine is available

* Completely remove TopLevelDecoderTests from LinuxMain

* Use @available attribute

* Store cancellable

* 5.3

* Force unwrap

* merge compiler conditionals

* Fixes

* Try to run TopLevelDecoderTests with Swift 5.2+

* Only report code coverage for latest Xcode version

* Update README

* Remove stored cancellable

* Add changelog entries

* Install latest SwiftLint available to Homebrew
2020-07-06 20:54:51 -04:00
Saleem Abdulrasool 11bbadede6
Yams: remove conditional cases for Windows (#259)
Unify the non-Windows and Windows paths.  The full codebase now builds
without any special case for Windows.
2020-05-18 07:14:43 -07:00
Saleem Abdulrasool 84621a6025
build: add the ability to run the test suite from CMake (#256)
Expand the CMake based build to support running the test suite.  This
allows testing on Windows as well.  Although the test suite does not
fully pass on Windows yet, this brings us closer.

With this on Windows, the following is the result:

```
  Test Suite 'All tests' failed at 2020-05-14 12:11:08.871
           Executed 120 tests, with 9 failures (0 unexpected) in 0.505 (0.505) seconds
```

The failures in the test suite correspond to the conversion of floating
point values in the infinity and NaN cases (either converting to
`-infe+0`, `infe+0`, or `nane+0` instead of `-inf`, `inf`, `nan`, or
converting to `NaN` instead of `nan`).
2020-05-15 16:39:33 -07:00
Saleem Abdulrasool 170ac41044 build: simplify Foundation handling
Enable building against an uninstalled copy of Foundation but do not
require it.  This allows for a simpler build system.  If the user wishes
to build against an out-of-tree Foundation, they can simply specify
`Foundation_DIR` and `dispatch_DIR` when configuring and CMake will
handle the rest.
2020-05-14 20:06:53 -07:00
Saleem Abdulrasool 7fa1c3c7e4 build: use a single top-level Swift module directory
Rather than have a swift module directory that you need to find for each
library, use a single global swift module directory similar to the
runtime output directory.  This will be useful for a follow up change to
enable tests.
2020-05-14 14:50:15 -07:00
JP Simard d9173c6f07 Actions : Update to checkout@v2
This is said to fix "reference is not a tree" errors when retrying a workflow:

https://github.com/actions/checkout/issues/23#issuecomment-572688577
2020-05-14 14:43:55 -07:00
JP Simard 89bfc6c2db
Release 3.0.1 2020-05-10 01:10:33 -07:00
JP Simard d39c5468f5
Set CMake archive, library & runtime output directories (#252)
To match expectations for the Swift Package Manager, which uses

* `bin/` for CMake < 3.16 on Windows; and
* `lib/` otherwise
2020-05-10 00:56:40 -07:00
JP Simard b2537bc463
Fix CMake (#251)
The CMake instructions in the readme didn't quite work when I tried them on macOS today.

This patch includes a few changes to `CMakeLists.txt` and the `README.md` instructions to reflect the latest steps to build.

Also add a CI job to validate that this keeps working moving forward.
2020-05-08 13:50:29 -07:00
JP Simard 775dec7923
Require Swift 5.1 to build (#249) 2020-04-17 22:00:58 -07:00
JP Simard e138fecfc4
Add empty changelog section 2020-04-17 21:24:26 -07:00
JP Simard 53741ba55e
Release 3.0.0 2020-04-17 15:06:17 -07:00
JP Simard 097c527a8d
Add more supported swift versions to podspec 2020-04-17 14:56:30 -07:00
JP Simard a9be523c38
Add missing test to manifest 2020-04-17 14:56:03 -07:00
JP Simard 937f397527
Fix `Yams.dump` when object contains a keyed null value (#248) 2020-04-17 14:47:21 -07:00
JP Simard 9e1f96b6f9
Reduce accessibility of members that should be private (#247) 2020-04-16 16:56:22 -07:00
JP Simard d53badf0fb
Run CI jobs with Swift 5.2 (#246)
* Run CI jobs with Swift 5.2

* Fix dangling pointer warning with Swift 5.2

* Only check code coverage in Sources/Yams

* Add changelog entry
2020-04-16 15:45:23 -07:00
JP Simard eb8c411e65
Update gems (#245) 2020-04-15 17:38:22 -07:00
Brentley Jones 5fa313eae1 Fix `YAMLDecoder` to support merging anchors (#238)
Currently `YAMLDecoder` uses `Resolver.basic` instead of `Resolver.default`, since it doesn't need to resolve types. This has the side effect of not including `.merge` as an option, making `decode` fail to see anchored properties.
2020-01-09 10:48:54 -08:00
JP Simard 9bb6c5de91
Added indentation tests for the emitter (#234)
Added indentation tests for the emitter
2019-11-27 14:51:09 -08:00
Andrés Cecilia Luque bbaa9ec919 Added indentation tests for the emitter 2019-11-27 19:26:21 +01:00
JP Simard 6cbbe1df61
Merge pull request #211 from compnerd/cmake
build: add CMake based build
2019-11-15 12:47:29 -08:00
Saleem Abdulrasool 1d3cc0d50b update README for CMake support
Add some basic instructions for building Yams with CMake.  This enables
building for Windows as well as other targets.
2019-11-13 11:29:00 -08:00
Saleem Abdulrasool 2eb01ee987 Update changelog
Update the changelog for changes to support Windows.
2019-11-13 11:29:00 -08:00
Saleem Abdulrasool edb73d167c build: add CMake based build
This adds a CMake (3.15.1) based build to enable building Yams on
platforms where s-p-m does not yet function.  It also enables
cross-compilation of Yams.  This is sufficient to be able to build for
Windows with the following command line:

```
cmake -H build\debug -G Ninja -DFoundation_DIR=... -DCMAKE_Swift_COMPILER=...
cmake --build build\debug
```
2019-11-13 11:28:28 -08:00
Norio Nomura 0aba2d3673
Merge pull request #231 from jpsim/update-ci
Update CI
2019-11-10 15:07:14 +09:00
Norio Nomura efe4ddb8c8
[GitHub Actions] Use stricter patterns in `paths`
This will avoid to trigger workflows by changes such as https://github.com/jpsim/Yams/pull/211
2019-11-10 12:55:03 +09:00
Norio Nomura ed72eeea22
[GitHub Actions] iPhone 5 simulator does not exist 2019-11-10 11:37:39 +09:00
Norio Nomura 3ded698a5a
[GitHub Actions] Add `--reporter github-actions-logging` to "Swiftlint Analyze" workflow 2019-11-10 11:26:28 +09:00
Norio Nomura 7d6000608d
[Azure Pipelines] Add macOS 10.14 jobs 2019-11-10 11:21:44 +09:00
Norio Nomura ec7c6ccd8a
[GitHub Actions] GitHub-hosted runner on macOS 10.14 is deprecated 2019-11-10 11:21:09 +09:00
Norio Nomura 344d858c4f
Merge pull request #230 from norio-nomura-test-forked-repository/patch-1
[GitHub Actions] Update `norio-nomura/action-swiftlint` to 3.0.1
2019-11-05 08:34:55 +09:00
norio-nomura-test-forked-repository 3ea3e0ed63
[GitHub Actions] Update action-swiftlint to 3.0.1 2019-11-04 19:19:58 +09:00
norio-nomura-test-forked-repository fed31f8e02
Use `norio-nomura/action-swiftlint@3.0.0` 2019-11-04 16:00:54 +09:00
JP Simard 342f5ca8d5 Revert "CODECOV_TOKEN added"
This reverts commit ce924d2e2c.
2019-11-03 18:24:43 -08:00
Norio Nomura c9e259e76b [GitHub Actions] Add missing `GITHUB_TOKEN` to `env` in `jazzy.yml` 2019-11-03 18:24:43 -08:00
Norio Nomura c6373877f8 [GitHub Actions] Apply reviews to `swiftlint.yml`
- Fix format
- Add comment
2019-11-03 18:24:43 -08:00
Norio Nomura f13d13ad2e [GitHub Actions] Remove `Tests` from `paths` in `pod_lib_lint.yml` 2019-11-03 18:24:43 -08:00
Norio Nomura 2376c227f9 [GitHub Actions] Use Xcode 11.2 in `pod_lib_lint.yml` 2019-11-03 18:24:43 -08:00
Norio Nomura 70f4813078 [GitHub Actions] Remove `Yams.xcodeproj` from `paths` in `pod_lib_lint.yml`
Cocoapods does not require xcodeproj.
2019-11-03 18:24:43 -08:00
Norio Nomura e02b2e3cb3 [GitHub Actions] Add missing `**/*.md` and `**/*.jpg` to `paths` in `jazzy.yml` 2019-11-03 18:24:43 -08:00
JP Simard 4d8063d641 Ignore Sources/CYaml and Tests when calculating code coverage 2019-11-03 18:24:43 -08:00
JP Simard 9c0a1f01ad CODECOV_TOKEN added 2019-11-03 18:24:43 -08:00