Git Product home page Git Product logo

Comments (19)

plata avatar plata commented on August 29, 2024

I'm not sure if this is possible. I would assume that it's probably easier to simply write a Phoenicis script manually.

from scripts.

t0msk avatar t0msk commented on August 29, 2024

It should be possible if we make parser for it. I mean we should "unite" these app scripts for Linux (like Lutris), it would be great, if there was client which can work with many scripts / engines.

from scripts.

plata avatar plata commented on August 29, 2024

Ok, but still I doubt that it will work 100% automatically. So maybe it would be better to have a simple converter. Then you could fix possible issues manually after the conversion.

from scripts.

qparis avatar qparis commented on August 29, 2024

@plata I think the two ways can be done at the same time.
First we create an abstract script that can import any yaml file and that can be extended.
Then, if we have good result, we try to create a repository implementation

from scripts.

Kreyren avatar Kreyren commented on August 29, 2024

Afaik there are like 5 scripts that would be worth migrading on phoenicis and i'm currently working on two of those (Overwatch, League Of Legends)

Based on my experience the rest is semi~non-functonal..

Aldo i would like to see emulator support on phoenics 🤔

but i think that support for bash, json (YAML) installers might prove beneficial too

from scripts.

plata avatar plata commented on August 29, 2024

@qparis just to get you right: You're idea is to implement this in Javascript? So derive InstallerScript? I think that could work. We would probably need a generic YAML parser Bean.

from scripts.

qparis avatar qparis commented on August 29, 2024

Yes this is the idea.
I think Jackson could do that

from scripts.

plata avatar plata commented on August 29, 2024

Would you want to have a LutrisDTO or use the map directly?

from scripts.

qparis avatar qparis commented on August 29, 2024

As long as we just want to access the file in JS, a Map should be sufficient

from scripts.

plata avatar plata commented on August 29, 2024

Can you describe the steps which would be required to do this in a way that someone who doesn't know Phoenicis in detail could implement it?

from scripts.

ImperatorS79 avatar ImperatorS79 commented on August 29, 2024

Maybe you can also improve the scripting tutorial, with explanations like : "in Lutris script, it is that".

Also, a link for the documentation inside the main github bar would be is easier to find (instead of scrolling inside the readme).

from scripts.

qparis avatar qparis commented on August 29, 2024

Can you describe the steps which would be required to do this in a way that someone who doesn't know Phoenicis in detail could implement it?

1. [Phoenicis] Create a bean "Yaml parser" (maybe inside phoenicis-tools) with two publics methods:
- String serialize(Map objectToSerialize)
- Map unserialize(String yamlString)
- See https://github.com/FasterXML/jackson-dataformats-text

  1. [Scripts] Write an interface so that all the scripts can use this bean (2 - 3 lines of code max)

At this point, scripts can parse any YAML file to do whatever they want with it

In fact this step is not needed

  1. [Scripts] Create a "Lutris Windows Script" Script. The template of "GoG Script" can be copied and pasted, because it is basically the same. Try to implement it from examples. Should not be too hard
  • Two way of running a script:
    • From a raw yaml string
    • From a URL

At this point, scripts can quickly run YAML formated scripts.

  1. [Phoenicis] [Optional, but would demonstrate the power of phoenicis architecture] Create a Repository Implementation that automatically sends yaml to this script.

from scripts.

madoar avatar madoar commented on August 29, 2024

@qparis I don't think step 3 will work.
When looking at the lutris scripts, they seem to be quite different compared to our scripts.

Basically we would require a converter, which converts a lutris script into a Phoenicis script.
If during this process something can't be converted, the resulting Phoenicis script is likely not usable.

To write such a converter the implementer requires very deep knowledge of both the Phoenicis scripts and the lutris scripts.

from scripts.

qparis avatar qparis commented on August 29, 2024

I think this would work for most of them. Any unsupported "verbs" will throw an exception and this can be improved later

from scripts.

qparis avatar qparis commented on August 29, 2024

For example, you can start with winesteam runner

from scripts.

plata avatar plata commented on August 29, 2024

A point we need to think about: what do we do about the Wine version? In general, the Lutris Wine version is not available (unless we include the Lutris Wine builds by default - which would work).

from scripts.

qparis avatar qparis commented on August 29, 2024

It depends. If we have similar build, better using it.
If we don't have similar build, the question is: do we need similar build? If so, we modify winebuild. If not, we provide an alternative and suitable build

from scripts.

plata avatar plata commented on August 29, 2024

How can you find out if we have a similar build automatically?

from scripts.

qparis avatar qparis commented on August 29, 2024

They have very few number of builds and they sems to be managed “by hand”. So I guess we jut have to map them. We can create some distributions if that helps

from scripts.

Related Issues (20)

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.