Initial QSfera import
@@ -0,0 +1,6 @@
|
||||
package_name("eu.qsfera.android")
|
||||
|
||||
# Credentials are read from environment, NOT a file in the repo:
|
||||
# SUPPLY_JSON_KEY — absolute path to the service-account JSON (local dev)
|
||||
# SUPPLY_JSON_KEY_DATA — raw JSON contents (CI; e.g. a GitHub Actions secret)
|
||||
# Set whichever one fits your workflow.
|
||||
@@ -0,0 +1,61 @@
|
||||
default_platform(:android)
|
||||
|
||||
def qsfera_env(primary, legacy)
|
||||
ENV[primary].to_s.empty? ? ENV[legacy] : ENV[primary]
|
||||
end
|
||||
|
||||
platform :android do
|
||||
desc "Pull latest translations from Transifex"
|
||||
lane :pull_translations do
|
||||
Dir.chdir("..") do
|
||||
sh("tx", "pull", "-a", "-f", "--skip")
|
||||
#sh("tx" "pull" "--force" "--skip" "--all" "-w" "1" "-m" "onlytranslated")
|
||||
end
|
||||
files = Dir.glob("../qsferaApp/src/main/res/values-*/strings.xml")
|
||||
if files.empty?
|
||||
UI.important("No values-*/strings.xml present after tx pull — nothing was downloaded.")
|
||||
else
|
||||
UI.success("#{files.size} translation file(s) on disk:")
|
||||
files.sort.each { |f| UI.message(" #{f}") }
|
||||
end
|
||||
end
|
||||
|
||||
desc "Build the originalRelease AAB (pulls translations first)"
|
||||
lane :build_release do
|
||||
{
|
||||
"QSFERA_RELEASE_KEYSTORE" => "OC_RELEASE_KEYSTORE",
|
||||
"QSFERA_RELEASE_KEYSTORE_PASSWORD" => "OC_RELEASE_KEYSTORE_PASSWORD",
|
||||
"QSFERA_RELEASE_KEY_ALIAS" => "OC_RELEASE_KEY_ALIAS",
|
||||
"QSFERA_RELEASE_KEY_PASSWORD" => "OC_RELEASE_KEY_PASSWORD"
|
||||
}.each do |primary, legacy|
|
||||
next unless qsfera_env(primary, legacy).to_s.empty?
|
||||
|
||||
UI.user_error!(
|
||||
"#{primary} is not set — release AAB would be unsigned and rejected by Play. " \
|
||||
"#{legacy} is still accepted as a legacy fallback."
|
||||
)
|
||||
end
|
||||
pull_translations
|
||||
gradle(
|
||||
task: "bundle",
|
||||
flavor: "Original",
|
||||
build_type: "Release"
|
||||
)
|
||||
sh("ls", "-l", "../qsferaApp/build/outputs/bundle/originalRelease/qsferaApp-original-release.aab")
|
||||
end
|
||||
|
||||
desc "Pull translations, build, and upload to Play Store. Override track with: fastlane deploy track:beta"
|
||||
lane :deploy do |options|
|
||||
track = options[:track] || "internal"
|
||||
build_release
|
||||
upload_to_play_store(
|
||||
track: track,
|
||||
aab: lane_context[SharedValues::GRADLE_AAB_OUTPUT_PATH],
|
||||
skip_upload_apk: true,
|
||||
skip_upload_metadata: true,
|
||||
skip_upload_changelogs: true,
|
||||
skip_upload_images: true,
|
||||
skip_upload_screenshots: true
|
||||
)
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,13 @@
|
||||
Excellent file management and collaboration for public authorities, providers and business – or anyone who values ease of use and digital sovereignty.
|
||||
|
||||
File Sync & Share
|
||||
Changes to documents are synchronized in real time, ensuring all team members always have access to the latest version.
|
||||
|
||||
Workspaces
|
||||
Create data rooms that enable access for all team members and promote efficient collaboration. Files and folders can be organized, managed and securely shared in these central areas.
|
||||
|
||||
Smart Search
|
||||
The full-text and metadata search allows you to browse through all documents and files, quickly discovering relevant information. Whether you’re searching for specific terms within the text or metadata such as creation date or author, finding what you need is effortless.
|
||||
|
||||
Web Office
|
||||
With QSfera's integrated office applications, teams can work on documents in real time – whether it’s text, spreadsheets, or presentations.
|
||||
|
After Width: | Height: | Size: 302 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 2.6 MiB |
|
After Width: | Height: | Size: 313 KiB |
|
After Width: | Height: | Size: 285 KiB |
|
After Width: | Height: | Size: 384 KiB |
|
After Width: | Height: | Size: 576 KiB |
|
After Width: | Height: | Size: 562 KiB |
|
After Width: | Height: | Size: 364 KiB |
@@ -0,0 +1 @@
|
||||
File Sync, Workspaces, Smart Search & Web Office
|
||||