Giter VIP home page Giter VIP logo

atlas-paket's People

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  avatar  avatar

Forkers

isabella232

atlas-paket's Issues

Update PaketPack task properties

@Internal
def packageId
@Input
String version
@Optional
@InputFile
def templateFile
File getTemplateFile() {
project.file templateFile
}
@OutputDirectory
File outputDir
@OutputFile
File getOutputFile() {
def templateReader = new PaketTemplate(getTemplateFile())
def packageID = templateReader.getPackageId()
project.file({"$outputDir/${packageID}.${getVersion()}.nupkg"})
}

From looking at the code it seems that some properties aren't used and others annotated in correct.

Verification after package installation

Description

When some thing bad TM happens in the installation process of nuget packages we can end up with incomplete installations of libraries.

Goal

We want to introduce a validation step that the content tree that is installed in Assets/Paket.Unity3D corresponds to what was built on Jenkins. One idea could be some sort of manifest file with checksums of files with normalised line endings.

Auto bump version for local builds

One of the use cases for ./gradlew publishLocal is to be able to test dependencies with other wdks or projects before commiting / pushing.

It would be nice if publishLocal would support some auto bumping of the version so that ./gradlew paketUpdate can be run on the other side without deleting the lock file all the time.

Something along the lines of:

./gradlew publishLocal -Prelease.stage=snapshot -Prelease.version=0.0.1-master`date +%s | cut -c6-

paket restore cache layout changed

Description

The paketRestore UP-TO-DATE check is broken due to a change in the latest paket versions (The version is unknown because this issue just popped up). The content of the restore cache file used to be a copy of the lock file. The content is now a json payload with multiple hashes.

Steps to reproduce

  1. install dependencies with paketInstall to create a paket.lock file.
  2. delete the packages directory
  3. run the task paketRestore to restore the packages directory
  4. run the task paketRestore again

Expected behavior

The task should be UP-TO-DATE

Actual Behavior

The task is not UP-TO-DATE

Add missing param --endpoint to PaketPush

static String COMMAND = "push"
@Input
def url
String getUrl() {
if( url == null)
{
null
}
else if (url instanceof Callable) {
url.call()
} else {
url.toString()
}
}
@Optional
@Input
def apiKey
String getApiKey() {
if( apiKey == null)
{
null
}
else if (apiKey instanceof Callable) {
apiKey.call()
} else {
apiKey.toString()
}
}
@InputFile
def inputFile
File getinputFile() {
project.file inputFile
}

is missing a setter for --endpoint

from paket push docs:

--endpoint <path>     API endpoint to push to (default: /api/v2/package)

Refactor task structure

Use Class and Project structure like atlas-unity

  • update code style
  • introduce and use convention mapping
  • mark internal as internal
  • configure tasks with project.getTasks().withType for late initialization
  • make configuration static
  • use static strings

PaketUnityInstall not called when executing paketUpdateXXX

void configurePaketDependencyInstallIfPresent() {
project.plugins.withType(PaketGetPlugin) {
def paketInstall = project.tasks[PaketGetPlugin.INSTALL_TASK_NAME]
def paketUpdate = project.tasks[PaketGetPlugin.UPDATE_TASK_NAME]
def paketRestore = project.tasks[PaketGetPlugin.RESTORE_TASK_NAME]
[paketInstall, paketUpdate, paketRestore].each { Task task ->
task.finalizedBy tasks[PaketUnityPlugin.INSTALL_TASK_NAME]
}
}
}

Instead of linking to the tasks, we should link against all tasks of type

  • PaketUpdate
  • PaketInstall
  • PaketRestore

Or just for the update case.

PaketPack version parameter can no longer be a closure

Description

Before version 1.0.0 it was possible to set the version parameter as a groovy Closure or Callable object.

Steps to reproduce

  1. Create project with a paket.dependencies, paket.template file and a gradle setup.
  2. Set version parameter of the paketPack task to `{ "some version" }

Expected behavior

PaketPack task evaluates closure and uses internal object.toString()

Current behavior

PaketPack fails because version passed to the paket tool is Closure.toString() output.

Improve caching for paketBootstrap

Description

The paketBootstrap task was written two years ago with a complete different version of gradle in mind. Back then gradle did not invalidate the build output based on it's own build history. This is no real issue in everyday work with this plugin but makes considerable issues during test runs. Github rate limits the URL calls to the bootstrapper binary which results in a lot of test failures. These tests could work with a cached version of the paket.bootstrapper.exe and paket.exe. But in the current form each test run will redownload and setup both paket.bootstrapper.exe and paket.exe for every test spec example. This needs to be adressed as the offical linux support #50 is untestable at the moment.

paket.unity3d.references items not trimmed

Description

Items with training spaces in paket.unity3d.references are silently ignored

Steps to reproduce

  1. Add some whitespace to an entry and run ./gradlew paketInstall ...

PaketPack Task generated after evaluation

Currently we have to wait for afterEvaluate to append dependencies

Example

project.afterEvaluate{ project.tasks['paketPack-WoogaJsonDotNetNode'].dependsOn ':msbuild' }

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.