Skip to content

Commit

Permalink
Update workflows to generate documentation (#223)
Browse files Browse the repository at this point in the history
* Apple Health support. Initial commit. Work in progress. Added support for Steps and Distance to Fitness Activity JFS.

* More comments for clarification purposes.

* Added new React Native example project.

* Additional error handling to replace our generic error

* Add ability to clear cached credentials and session data

* Example apps to use local path in podfile

* Rename Account to SourceAccount to avoid conflicts on the thrird party side.

* Improve error handling by adding more error types.

* Credentials stored in the local preferences on the client side. TimeRanges stored separatelly on the sdk side. Additional option for the authentication flow to use external browser.

* Version bump up to 5.0.4

* Support for Active Energy Burned type

* Additional details view to show all FitnessActivity data in the readable format.

* Anchor time, distance abbreviation and the date formatters fixes.

* Move date of the Steps Challenge to the 1st of June

* File download operation will return all errors of SDKErrors type

* Handle metadata headers as case insensitive

* 5.0.5 - Apple Health data retrieval flow improvements and simplifications. New logging functionality is introduced.

* RNExample project update to support latest changes in the sdk

* Resolve SwiftLint build warnings

* FitnessActivity refactored to FitnessActivitySummary

* Change the start time in the FitnessActivitySummary object

* Add support for active minutes

* Improve activity metrics

* Apple Health account identifier must stay unique all time. Remove identifierForVendor.

* Fix of the issue with duplicates in the data when merging objects.

* Code cleanup

* DMA-54, DMA-53 - Account data returned before we process files data

* Bump up API version to 1.7

* Update example projects to support new changes regarding AH account in the new completion block

* Add mixpanel event type to the default mask

* Revert to 1.6 api version

* Add Sources to SPM config

* Fixing Unit tests to support new parameter on the network router

* Direct upload, future Postbox replacement

* Replace credentials cache storage and route data request to consent swipe saas onboarding

* Logging endpoint change to sdk

* Apple Health service could be accessible using the same entry point as for other services.

* API 1.7 support

* Bugfixes around API 1.7 changes regarding getting accounts data. Apple Health start-over bugfix. Apple Health add new data bugfix.

* Clear cache refactoring.

* Align Apple Health flow with other Saas based data. Add ability to set scope for the example app.

* SDK Example app. Replace Home view UIViewController with SwiftUI view

* Fixing race condition issue between local and remote data fetch.

* Refactor Mixpanel events

* More changes to the Example app to reuse SwiftUI Charts SDK. AH Scoping functionality. Rewrite some UIKit views in SwiftUI. Fixing unit tests.

* Improve scoping UI/UX in the SDK Example app

* Remove React Native Example app project

* The last screen Sources is now converted to SwiftUI

* Update reference documentation for the SDK

* Update documentation articles

* Add git action workflow folder for docc generation

* SDK-37, SDK-57 - Reauth support, callback param removed

* Loader view is added to Services page to cancel network request and unblock UI

* SDK-55 - Apple Health data should be driven by a specific contract only, it will covers scenario when a few instances of digime are running in the app.

* Apply the same UI change as for Services section now for the AH Summary section to give the ability to cancel Saas onboarding in the app.

* Change SyncError.statusCode to be optionals

* Project cleanup. Remove Data+unzip.swift because we are still going to use a 3rd party repo

* SDK-59 Refactoring reset code to wipe all data on the application startover.

* DE-47 Provide access to the Medmij Portability Report

* Prevent showing details view on an iPad on the report date manager view.

* Change the predefined template "All Time" to be "Last 5 Years" on the Portability Report

* Update Genrefy project to support all latest changes in the SDK

* New filtering functionality in the service picker view

* List of changes:
*  OS Example app now supports switching between environments. At the "Service Data Example" section.
*  Write data to your library section supports preview of the attachments in the logs
*  Add Duration source fetch limits to the initial authorization scope.
*  Selected Object types from the initial authorization scope is now propagated to the sync trigger scope limits
*  Ability to set Duration limits in the Scope filter.
* Improvements in the UI to have ability to edit Scoping's Object Types param for sync trigger.
* First version of Service Object Types scoping.

* SDK-77 Push Data Support in the SDK. Update Example app.

* SDK-62 Return the credentials with an error in the completion handler. This will resolve the issue occurring when the app gets stuck if you cancel the addition of a new service during the SAAS onboarding flow.

* Apply SDK-62 changes on Genrefy SDK Example app.

* SDK-82 Remove all Apple HealthKit code from the project (#219)

* SDK-87 Update SDK to support Cocoapods

* Upate podspec file to change source branch name to the current directory

* Update podspec source files path

* Move DigiMeCore podspec to the root directory

* Update Core podspec to remove unused frameworks. Move the rest of podspec files to the root of the repo.

* New Cocoapod version 5.0.7 to support subspec files

* SDK-87 Final changes to support Cocoapods package manager in the project. Genrefy app will use Cocoapods and the SDK Example app will stay on SPM.

* SDK-103 Update sdk documentation to support all the latest changes for the new release. (#220)

* SDK-99 Expose userId in the SDK

* Bump up build version number. Rename Section.swift file.

* addTestData method should be constrained by simulator env check

* Downgrade Swift Tools version to 5.7

* Project cleanup in various places. Removing unnecessary code.

* Add a collective SPM Package.swift file

* Various bugfixes

* SDK-108 New upcoming SDK release changes doesn't work on TestFlight build

* SDK-112, SDK-113, SDK-117, SDK-118, SDK-120

List of changes:
- 10 bug fixes
- Delete account
- Withdraw account consent
- SDK Example app updated to support all the changes above

* TestFlight build 31

Changes:
* SDK-117, SDK-118 Withdraw consent on the account
* SDK-112, SDK-113 Delete account
* SDK-120 Bug fixes.

List of bugs:
* Sample Data Presenter Control Issue with Large Datasets.
* Incorrect Behavior of the “Add Service” Button.
* Missing Option to Select Sample Dataset Name for Second Service Onboarding.
* Connected Account Disappearance from UI.
* UI Freeze on Refresh Token Expiry.
* Bottom Scroll Issue in Logs.
* Response Part Presentation as String Instead of JSON.
* Missing JSON Preview Logic in Swift Compared to Objective-C DigiMe App.
* JSON Attachment Copy Action Copies Base64 Encoded String Instead of JSON.
* Active Contract Selection Not Retained.

* Update project files to include new Routes and the new Response type

* SyncError object updated to support the latest schema.

* SyncError must have optional 'message' property because of the Medmij data provider

* Support for the SVG file type in the Discovery resources

* Update the response object structure in the account state error object within the file list.

* Fixing Service Picker action button style and some modification to improve SVG image loading state

* SDK Example app build version bump up to 33

* To improve responsiveness in the UI - logs moved from local cache to the SwiftData. Fixing a bug for the SVG icon in the Discovery resources.

* Changes to fix SwiftLint warnings

* SDK - Discovery 3, Provisional Cloud, Self-Measurements, Unit Tests.
Example app - Discovery 3, Provisional Cloud, Self-Measurements.
Capacitor Plugin.

* Update podspec files to point to the new branch and update package version

* Project cleanup. Rename file to match with the class name.

* SDK-143 Propagate DE App Enhancements to iOS SDK Example App

* SDK-144
- Updated plugin definitions and web implementation for new parameters;
- Added digi-plugin as part of the main project, including ignore files;
- Added dismissView function to plugin interface and implementations;

* SDK-145 Body Weight Observation. Resolving FHIR validation errors and warnings.

* Code cleanup

* SDK-146 Address all current FHIR validator warnings and errors across observation types to ensure full compliance with the FHIR standards

* SDK-146 Add an additional URL to the FHIR JSON output profile section.

* SDK-94 “includeSampleDataOnlySources” parameter is missing in the authorisation or when adding a new service flow.

* DE-113 Add additional sync timeout errors to handle infinity sync progress.

* SDK-146 Propagate changes to the SDK Example app from Capacitor plugin to remove validation warnings and errors.

* DigiMe Capacitor Plugin cleanup

* A new configurable modal dialog view class to handle user actions for proceeding or canceling.

* A contract from the DE app for our QA team.

* SDKError unknown type must be generic.

* Add additional filter parameters to correct the Discovery 3 response.

* SDK-160, SDK-155 Health app build 4

* Update digi-plugin project to the latest version

* Podspec file update to catchup with the latest changes in the Package.swift

* FHIRModels changed to ModelsR5

* Upgrade the iOS version and remove the Cordova dependency.

* Additional changes and bugfixes in the digi-plugin module

* DM-880 Dutch localisation for Apple Health plugin

* DM-885 Unblock iOS 13 support

* DM-867 Error handling changes to improve user flow

* Bug fix in the native code to correct the completion handling and modal view hierarchy when the task finishes.

* Release candidate 5.0.8

* Change the order of the parameters in the init function to comply with the definition

* Remove some example projects

* Update sdk config files to 5.1.0 version

* Remove Cocoapods cache in the example project

* Remove app id from the example app

* Create docc.yml
  • Loading branch information
hamiltonalex authored Oct 24, 2024
1 parent b13db13 commit ec175e7
Show file tree
Hide file tree
Showing 7 changed files with 111 additions and 47 deletions.
45 changes: 0 additions & 45 deletions .github/workflows/deploy_docs.yaml

This file was deleted.

103 changes: 103 additions & 0 deletions .github/workflows/docc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
name: Deploy DocC

on:
push:
branches: [ master ]
workflow_dispatch:

jobs:
generate-documentation:
runs-on: macos-latest

steps:
- uses: actions/checkout@v4

- name: Set up Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable

- name: Build Documentation
run: |
# Create a temporary directory for documentation
mkdir -p ./temp_docs
# Build documentation for DigiMeCore
xcodebuild docbuild -scheme DigiMeCore \
-derivedDataPath /tmp/docbuild_core \
-destination 'platform=iOS Simulator,name=iPhone 14'
# Build documentation for DigiMeHealthKit
xcodebuild docbuild -scheme DigiMeHealthKit \
-derivedDataPath /tmp/docbuild_healthkit \
-destination 'platform=iOS Simulator,name=iPhone 14'
# Build documentation for DigiMeSDK
xcodebuild docbuild -scheme DigiMeSDK \
-derivedDataPath /tmp/docbuild_sdk \
-destination 'platform=iOS Simulator,name=iPhone 14'
# Copy DocC archives to temp directory
cp -r /tmp/docbuild_core/Build/Products/Debug-iphonesimulator/DigiMeCore.doccarchive/* ./temp_docs/core/
cp -r /tmp/docbuild_healthkit/Build/Products/Debug-iphonesimulator/DigiMeHealthKit.doccarchive/* ./temp_docs/healthkit/
cp -r /tmp/docbuild_sdk/Build/Products/Debug-iphonesimulator/DigiMeSDK.doccarchive/* ./temp_docs/sdk/
# Create root index.html
cat > ./temp_docs/index.html << 'EOL'
<!DOCTYPE html>
<html>
<head>
<title>DigiMe iOS SDK Documentation</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
max-width: 800px;
margin: 0 auto;
padding: 20px;
}
h1 { color: #333; }
.library {
margin: 20px 0;
padding: 20px;
border: 1px solid #ddd;
border-radius: 8px;
}
a { color: #0366d6; text-decoration: none; }
a:hover { text-decoration: underline; }
</style>
</head>
<body>
<h1>DigiMe iOS SDK Documentation</h1>
<div class="library">
<h2>DigiMe SDK</h2>
<p>The main SDK for integrating with DigiMe services.</p>
<p><a href="sdk/documentation/digimesdk/">View Documentation</a></p>
</div>
<div class="library">
<h2>DigiMe Core</h2>
<p>Core functionality and models used across DigiMe libraries.</p>
<p><a href="core/documentation/digimecore/">View Documentation</a></p>
</div>
<div class="library">
<h2>DigiMe HealthKit</h2>
<p>HealthKit integration for DigiMe SDK.</p>
<p><a href="healthkit/documentation/digimehealthkit/">View Documentation</a></p>
</div>
</body>
</html>
EOL
# Create .nojekyll file
touch ./temp_docs/.nojekyll
- name: Deploy to GitHub Pages
uses: JamesIves/github-pages-deploy-action@v4
with:
folder: temp_docs
branch: gh-pages
clean: true
2 changes: 2 additions & 0 deletions DigiMeCore/Sources/DigiMeCore.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -730,6 +730,7 @@
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
PRODUCT_BUNDLE_IDENTIFIER = me.digi.sdk.example.librarycore.DigiMeCore;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
RUN_DOCUMENTATION_COMPILER = YES;
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
Expand Down Expand Up @@ -763,6 +764,7 @@
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
PRODUCT_BUNDLE_IDENTIFIER = me.digi.sdk.example.librarycore.DigiMeCore;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
RUN_DOCUMENTATION_COMPILER = YES;
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -762,6 +762,7 @@
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
PRODUCT_BUNDLE_IDENTIFIER = me.digi.sdk.example.libraryhealth.DigiMeHealthKit;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
RUN_DOCUMENTATION_COMPILER = YES;
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
Expand Down Expand Up @@ -795,6 +796,7 @@
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
PRODUCT_BUNDLE_IDENTIFIER = me.digi.sdk.example.libraryhealth.DigiMeHealthKit;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
RUN_DOCUMENTATION_COMPILER = YES;
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
Expand Down
2 changes: 2 additions & 0 deletions DigiMeSDK/Sources/DigiMeSDK.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -807,6 +807,7 @@
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
PRODUCT_BUNDLE_IDENTIFIER = me.digi.sdk.example.library.DigiMeSDK;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
RUN_DOCUMENTATION_COMPILER = YES;
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
Expand Down Expand Up @@ -840,6 +841,7 @@
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
PRODUCT_BUNDLE_IDENTIFIER = me.digi.sdk.example.library.DigiMeSDK;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
RUN_DOCUMENTATION_COMPILER = YES;
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
Expand Down
2 changes: 1 addition & 1 deletion Examples/Genrefy/Genrefy/AppCoordinator.swift
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ class AppCoordinator: NSObject, ApplicationCoordinating {
var analysisCoordinator: AnalysisCoordinator?

static var configuration: Configuration = {
// Get YOUR_APP_ID here - https://worlddataexchange.com/register
#warning("Replace 'YOUR_APP_ID' with your app ID. Get yours from https://worlddataexchange.com/register. Also don't forget to set the app ID in CFBundleURLSchemes.")
// Don't forget to replace YOUR_APP_ID part in URLSchemes in Info.plist
let appId = "YOUR_APP_ID"
let contractId = "yrg1LktWk2gldVk8atD5Pf7Um4c1LnMs"
Expand Down
2 changes: 1 addition & 1 deletion Examples/Genrefy/Genrefy/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<string>Consent Access</string>
<key>CFBundleURLSchemes</key>
<array>
<string>digime-ca-3DuiiOnAurqB3s1HySQUw9MP8D2CkXik</string>
<string>digime-ca-YOUR_APP_ID</string>
</array>
</dict>
</array>
Expand Down

0 comments on commit ec175e7

Please sign in to comment.