Skip to content

Commit

Permalink
add CI
Browse files Browse the repository at this point in the history
  • Loading branch information
FO-nTTaX committed Apr 28, 2020
1 parent db91525 commit 36c29e1
Show file tree
Hide file tree
Showing 8 changed files with 89 additions and 23 deletions.
41 changes: 41 additions & 0 deletions .github/workflows/main.yml
@@ -0,0 +1,41 @@
name: Code Style

on: [ push, pull_request ]

jobs:
test-php:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Install composer dependencies
run: composer install


- name: Run composer tests
run: composer test

test-javascript:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Install npm dependencies
run: npm install

- name: Run npm tests
run: npm run test-script

test-style:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Install npm dependencies
run: npm install

- name: Run npm tests
run: npm run test-style
2 changes: 2 additions & 0 deletions .gitignore
@@ -1 +1,3 @@
/nbproject/
/vendor/
composer.lock
8 changes: 8 additions & 0 deletions .phpcs.xml
@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<ruleset>
<rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki"/>
<file>.</file>
<arg name="bootstrap" value="./vendor/mediawiki/mediawiki-codesniffer/utils/bootstrap-ci.php"/>
<arg name="extensions" value="php,php5,inc"/>
<arg name="encoding" value="UTF-8"/>
</ruleset>
17 changes: 8 additions & 9 deletions README.md
@@ -1,21 +1,20 @@
VariablesLua
============
# VariablesLua
![Code Style](https://github.com/Liquipedia/VariablesLua/workflows/Code%20Style/badge.svg)

This extension makes Extension:Variables work with Scribunto Lua. See https://liquipedia.net/commons/Help:VariablesLua for more information.

Installation
============
# Installation
* Extract the extension folder to extensions/VariablesLua/
* Add the following line to LocalSettings.php:

wfLoadExtension( 'VariablesLua' );
```
wfLoadExtension( 'VariablesLua' );
```

Dependencies
============
# Dependencies
This extension requires Extension:Variables and Extension:Scribunto to be installed.

Examples
========
# Examples
This is how some example calls to the extension could look like in a Scribunto module
```lua
local p = {} -- p stands for package
Expand Down
11 changes: 11 additions & 0 deletions composer.json
@@ -0,0 +1,11 @@
{
"require-dev": {
"mediawiki/mediawiki-codesniffer": "*"
},
"scripts": {
"test": [
"phpcs -p -s"
],
"fix": "phpcbf"
}
}
2 changes: 1 addition & 1 deletion extension.json
@@ -1,6 +1,6 @@
{
"name": "VariablesLua",
"version": "1.4.1",
"version": "1.4.2",
"author": [
"[https://fo-nttax.de Alex Winkler]"
],
Expand Down
5 changes: 4 additions & 1 deletion src/Hooks.php
Expand Up @@ -6,10 +6,13 @@ class Hooks {

/**
* Register Lua Library
* @param strin $engine
* @param array &$extraLibraries
* @return array
*/
public static function onScribuntoExternalLibraries( $engine, array &$extraLibraries ) {
if ( $engine === 'lua' ) {
$extraLibraries[ 'mw.ext.VariablesLua' ] = 'Liquipedia\\VariablesLua\\Scribunto_LuaVariablesLuaLibrary';
$extraLibraries[ 'mw.ext.VariablesLua' ] = ScribuntoLuaLibrary::class;
}
return true;
}
Expand Down
Expand Up @@ -4,50 +4,52 @@

use ExtVariables;

class Scribunto_LuaVariablesLuaLibrary extends \Scribunto_LuaLibraryBase {
class ScribuntoLuaLibrary extends \Scribunto_LuaLibraryBase {

public function register() {
$lib = [
'var' => [ $this, 'fn_var' ],
'var_final' => [ $this, 'fn_var_final' ],
'vardefine' => [ $this, 'fn_vardefine' ],
'vardefineecho' => [ $this, 'fn_vardefineecho' ],
'varexists' => [ $this, 'fn_varexists' ],
'var' => [ $this, 'fnVar' ],
'var_final' => [ $this, 'fnVarFinal' ],
'vardefine' => [ $this, 'fnVardefine' ],
'vardefineecho' => [ $this, 'fnVardefineecho' ],
'varexists' => [ $this, 'fnVarexists' ],
];
return $this->getEngine()->registerInterface(
__DIR__ . '/../lua/mw.ext.VariablesLua.lua', $lib, []
);
}

public function fn_var() {
public function fnVar() {
$params = func_get_args();
$parser = $this->getParser();
return [ ExtVariables::pfObj_var( $parser, $parser->getPreprocessor()->newFrame(), $params ) ];
}

public function fn_var_final() {
public function fnVarFinal() {
$params = func_get_args();
$parser = $this->getParser();
return [ ExtVariables::pf_var_final( $parser, ...$params ) ];
}

public function fn_vardefine() {
public function fnVardefine() {
$params = func_get_args();
$parser = $this->getParser();
return [ ExtVariables::pf_vardefine( $parser, ...$params ) ];
}

public function fn_vardefineecho() {
public function fnVardefineecho() {
$params = func_get_args();
$parser = $this->getParser();
return [ ExtVariables::pf_vardefineecho( $parser, ...$params ) ];
}

public function fn_varexists() {
public function fnVarexists() {
$params = func_get_args();
$parser = $this->getParser();
if ( method_exists( 'ExtVariables', 'pfObj_varexists' ) ) {
return [ ExtVariables::pfObj_varexists( $parser, $parser->getPreprocessor()->newFrame(), $params ) ];
return [ ExtVariables::pfObj_varexists(
$parser, $parser->getPreprocessor()->newFrame(), $params
) ];
} else {
return [ ExtVariables::pf_varexists( $parser, ...$params ) ];
}
Expand Down

0 comments on commit 36c29e1

Please sign in to comment.