Giter Site home page Giter Site logo

skahal / buildron Goto Github PK

View Code? Open in Web Editor NEW
22.0 6.0 3.0 48.62 MB

Your builds, our world!

License: MIT License

JavaScript 8.82% C# 75.18% Shell 0.20% ShaderLab 15.67% HLSL 0.11% Batchfile 0.01%
continous-integration radiator teamcity jenkins hudson

buildron's People

Contributors

giacomelli avatar giusepe avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

buildron's Issues

Create a ModPipeline

We need "someone" that notifies mods about the events. A pipeline must be created to call the mods interfaces.

Save "sort by" made by Buildron RC

Today when an user apply a filter from Buildron RC, this filter will be reapply when Buildron starts again, the same should happen with "sort by".

Add connection info to a server as a QR code in the main screen

Currently, Buildron shows the current server as an IPv4 address in the lower left corner of the screen. Please add a QR code (possibly replacing the IPv4 address, or in the lower right corner) with the connection information, so as to enable augmented reality scenarios (allows, for example, a remote control running in a tablet, which you point to the monitor running the buildron you want to configure, and shows the options as an overlay over the monitor)

SortBy not persisted when a mod use the SortBuildsRemoteControlCommand

When a mod uses the SortBuildsRemoteControlCommand the sort is right perform, but after the next builds refresh the previous sort by is reused.

This happens because when Buildron RC sends the same command it is intercepted by RemoteControlController.SendToServerSortBuilds method and the values are saved to ServerState:

m_serverState.BuildSortingAlgorithmType = sortingType;
m_serverState.BuildSortBy = sortByProperty;
m_serverService.SaveState(m_serverState);   

but when a mod use the sortBuildsRemoteControlCommand it is intercepted by SortingController.Start method and no ServerState is updated:

m_rcService.RemoteControlCommandReceived += (sender, e) => {
    var sortCmd = e.Command as SortBuildsRemoteControlCommand;  

    if(sortCmd != null)
    {
        OnBuildSortUpdated(new BuildSortUpdatedEventArgs(sortCmd.Algorithm, sortCmd.SortBy));
    }
};

Save "Visual" made by Buildron RC

Today when an user apply a filter from Buildron RC, this filter will be reapply when Buildron starts again, the same should happen with commands from "Visual" section.

Username acronym when no avatar

When user has no Gravatar we could generate an image with username acronym to use has avatar.
Sample: Username Diego.Giacomelli will generate a avatar with "DG" letters.

Implement the IBuildUserAvatarProvider interface to get this done.

Define mod SDK

We need to define an interface or, maybe, interfaces to build a mod.

Something like:

interface IMod
{    
    void Initialize(ModContext context);    
}

class ModContext
{
    // Events.
    event EventHandler<BuildFoundEventArgs> BuildFound;
    event EventHandler<BuildRemovedEventArgs> BuildRemoved;
    event EventHandler<BuildUpdatedEventArgs> BuildUpdated;    
    event EventhHandler<BuildStatusChangedEventArgS> BuildStatusChanged;
    event EventhHandler<BuildTriggeredByChangedEventArgS> BuildTriggeredByChanged;
    event EventHandler<BuildsRefreshEventArgs> BuildsRefreshed;    
    event EventHandler<CIServerUpEventArgs> CIServerUp;
    event EventHandler<CIServerDownEventArgs> CIServerDown;
    event EventHandler<UserFoundEventArgs> UserFound;
    event EventHandler<UserUpdatedEventArgs> UserUpdated;
    event EventHandler<UserTriggeredBuildEventArgs> UserTriggeredBuild;
    event EventHandler<UserRemovedEventArgs> UserRemoved;
    event EventHandler<UserAuthenticationSuccessfulEventArgs> UserAuthenticationSuccessful;
    event EventHandler<UserAuthenticationFailedEventArgs> UserAuthenticationFailed;  
    event EventHandler<RemoteControlConnectedEventArgs> RemoteControlConnected;  
    event EventHandler<RemoteControlDisconnectedEventArgs> RemoteControlDisconnected;  

    // Properties
    IEnumerable<Build> Builds { get; }
    Camera Camera { get; }    
}

With Initialize(ModContext), a mod can choose which events it wants to listen to.
In the future, this ModContext class with events will allow us to add new events without needing to update all existing mods.

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.