Giter Site home page Giter Site logo

wooga / atlas-build-unity Goto Github PK

View Code? Open in Web Editor NEW
2.0 39.0 2.0 1.09 MB

a gradle companion plugin for the wooga internal unity build system

License: Apache License 2.0

Groovy 98.77% Shell 0.69% Dockerfile 0.54%
gradle unity build plugin atlas ubs

atlas-build-unity's Introduction

atlas-build-unity

Gradle Plugin ID Build Status Build Status Coveralls Status Apache 2.0 GitHub tag GitHub release

This plugin is work in progress.

Applying the plugin

build.gradle

plugins {
    id 'net.wooga.build-unity' version '0.14.0'
}

Development

Code of Conduct

Gradle and Java Compatibility

Built with OpenJDK8

Gradle Version Works
< 5.1 no
5.1 yes
5.2 yes
5.3 yes
5.4 yes
5.5 yes
5.6 yes
5.6 yes
6.0 yes
6.1 yes
6.2 yes
6.3 yes
6.4 yes
6.5 yes
6.6 yes
6.6 yes
6.7 yes
6.8 yes
6.9 yes
7.0 yes

LICENSE

Copyright 2017 Wooga GmbH

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

atlas-build-unity's People

Contributors

azurelol avatar dependabot-preview[bot] avatar joaquimmnetto avatar larusso avatar sebu avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

isabella232

atlas-build-unity's Issues

Unity code coverage results overwriting results from previous test tasks

Description

Right now we are setting the test coverage path of Unity to build/reports/unity/ but this can cause the results being overwritten when running tests for multiple platforms. We should save the results in a similar way as we do with the test runs (where the results for task testEditModeAndroid are written to build/reports/unity/testEditModeAndroid/).

iOS adhoc support has broken default value

Description

The default value for adhoc in the extension can evaluate to null which gets passed to fastlane. Fastlane will still execute and download an adhoc profile even though this was not the intention.

Configurability of folders to ignore for up-to-date check

Description

Unity build plugin currently ignores some folders already, like Plugins/Android on iOS and vice versa to check if export is up-to-date. It would be nice to make it configurable.

In UBS we currently have this problem that publish triggers assemble again because of some files in UnifiedBuildSystem-Assets changed. If we could exclude the whole folder it would be handy.

Allow folders and possibly patterns in `ignoreFilesForExportUpToDateCheck`

Description

We have more and more files that need to be ignored. Recently we needed to ignore meta files which are not generated yet and that required mapping existing files to potential filenames. Which is possible (could've been done with a pattern check like ignore all *.meta for instance).

Now we have asset bundles generated and put to streaming assets during build time and it would be nice to ignore that whole folder right away because we don't know their names before generation. Currently they cause re-assemble on publish.

@Larusso what do you think?

Cleanup macOS keychains

Description

We face many issues with selecting the correct signing certificate when multiple keychains add certificates with the same name but different content. It could help if the build could cleanup unwanted/unused keychains before starting the build.
For this to work the machine would need to set some kind of config variable to declare what the default keychains are and if a autocleanup is desired. On macOs there is normally only one keychain present for the user by default.

The security tool has two commands to fetch the login and default keychain.

default-keychain            Display or set the default keychain.
login-keychain              Display or set the login keychain.

This could already be enough for a simple cleanup.

Create Log files for iOS build process

The iOS build process creates no logs. Everything is printed to stdout. The net.wooga.build-unity-ios should create log files for all xcodebuild and fastlane related tasks.

Dependabot couldn't authenticate with https://wooga.jfrog.io/wooga/atlas-maven

Dependabot couldn't authenticate with https://wooga.jfrog.io/wooga/atlas-maven.

Dependabot tried to authenticate with your details, but authentication failed. This could be because the details are no longer valid or because they don't grant permission to access all of the dependencies required.

Please note that for JFrog repositories Dependabot needs to have deploy permission (as JFrog requires this for Dependabot to access uncached artifacts).

You can provide authentication details in your Dependabot dashboard by clicking into the account menu (in the top right) and selecting 'Config variables'.

View the update logs.

Dependabot couldn't authenticate with https://wooga.jfrog.io/wooga/atlas-maven

Dependabot couldn't authenticate with https://wooga.jfrog.io/wooga/atlas-maven.

Dependabot tried to authenticate with your details, but authentication failed. This could be because the details are no longer valid or because they don't grant permission to access all of the dependencies required.

Please note that for JFrog repositories Dependabot needs to have deploy permission (as JFrog requires this for Dependabot to access uncached artifacts).

You can provide authentication details in your Dependabot dashboard by clicking into the account menu (in the top right) and selecting 'Config variables'.

View the update logs.

Check profile expiration date before declaring up-to-date

A cached .mobileprovisioning profile stays cached even if it got invalidated.
Remote regeneration also breaks the build.

Either find a solution to cache profiles better or declare task as up-to-date never.

onlyIf(new Spec<ImportProvisioningProfile>() {
@Override
boolean isSatisfiedBy(ImportProvisioningProfile task) {
return task.getTeamId() && task.getAppIdentifier()
}
})

iOS certificate and certificate passphrase handling

Description

I want to change the handling of certificates needed for a build in a few ways. To get us started I defined a simple default FileTree which picks up any *.p12 file in the project. To gear us towards a secure CI and local setup I would change the default value to be read as other values from the Environment and Properties. This gives a CI system like Jenkins the possibility to inject a certificate and also the matching passphrase. I don't have a definite way how to provide certificate/passphrases pairs at the moment.

Next to usability reasons a integration test setup would be way easier to create that runs on a CI system.

Escape certificate passwords

certificates.files.each { File file ->
def keychain = getTempKeychainPath()
def password = getCertificatePassword()
commands << ""
commands << "import $file -k $keychain -P '$password' -f pkcs12 -t cert -T /usr/bin/codesign"
commands << ""
}

A password for one certificate had ' symbol in it which caused this command to fail. Escaping would've probably fixed it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.