evgeny-goldin / maven-plugins Goto Github PK
View Code? Open in Web Editor NEWMaven plugins
Home Page: http://evgeny-goldin.com/wiki/Maven_Plugins
License: Other
Maven plugins
Home Page: http://evgeny-goldin.com/wiki/Maven_Plugins
License: Other
This domain name is not resolving
$ ping www.evgeny-goldin.com
Ping request could not find host www.evgeny-goldin.com. Please check the name and try again.
Why is it that build system except from maven doesn't work out of the box?
erikmartino:maven-plugins emartino$ git show
commit 5737b64
...
erikmartino:maven-plugins emartino$ bash build.sh
Running Gradle [1.6], Groovy [1.8.6], Java [1.7.0_25]
Building [:maven-plugins:unspecified]
:clean
:codenarc
[ant:codenarc] log4j:WARN No appenders could be found for logger (org.codenarc.ant.CodeNarcTask).
[ant:codenarc] log4j:WARN Please initialize the log4j system properly.
[ant:codenarc] log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
:codenarc FAILED
FAILURE: Build failed with an exception.
Where:
Script 'http://evgenyg.artifactoryonline.com/evgenyg/libs-releases-local/CodeNarc.gradle' line: 78
What went wrong:
Execution failed for task ':codenarc'.
java.lang.AssertionError: No such rule named [MultipleUnaryOperators]. . Expression: ruleClass. Values: ruleClass = null
Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 7.799 secs
http://evgeny-goldin.com is unknown host.
I'd use youtrack, but it tells me I am 'banned' when I try to log in via openID. The file I'm trying to grab via SCP is there.
<plugin>
<groupId>com.github.goldin</groupId>
<artifactId>copy-maven-plugin</artifactId>
<version>0.2.5</version>
<executions>
<execution>
<id>copy-root</id>
<goals>
<goal>copy</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<verbose>true</verbose>
<resources>
<resource>
<targetPath>${bt.root.location}</targetPath>
<mkdir>true</mkdir>
<!-- windows? -->
<file>${release-scp-path}rlp/Release/${rlp.version}/rlp-${rlp.version}-sdk-${bt.arch}.${suffix}</file>
<unpack>true</unpack>
<skipIdentical>true</skipIdentical>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
[ERROR] Failed to execute goal com.github.goldin:copy-maven-plugin:0.2.5:copy (copy-root) on project rws-bt-root: Processing [Target path(s) [/Users/benson/.m2/repository/bt/jug/bt_root-7.10.0-7.10.0-jug1], directory [scp://souvenir:/basis/products/releases/rlp/Release/7.10.0/rlp-7.10.0-sdk-universal-darwin9-gcc40.tar.gz], dependencies []] failed with [java.lang.AssertionError]: No file(s) found in [/private/var/folders/80/5l86669j3278_x4hlpntlz380000gp/T/com.github.goldin.gcommons.beans.GeneralBean8409721372914975106].. Expression: (files || failIfNotFound). Values: files = [], failIfNotFound = true -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.github.goldin:copy-maven-plugin:0.2.5:copy (copy-root) on project rws-bt-root: Processing [Target path(s) [/Users/benson/.m2/repository/bt/jug/bt_root-7.10.0-7.10.0-jug1], directory [scp://souvenir:/basis/products/releases/rlp/Release/7.10.0/rlp-7.10.0-sdk-universal-darwin9-gcc40.tar.gz], dependencies []] failed with [java.lang.AssertionError]
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.MojoExecutionException: Processing [Target path(s) [/Users/benson/.m2/repository/bt/jug/bt_root-7.10.0-7.10.0-jug1], directory [scp://souvenir:/basis/products/releases/rlp/Release/7.10.0/rlp-7.10.0-sdk-universal-darwin9-gcc40.tar.gz], dependencies []] failed with [java.lang.AssertionError]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:54)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:182)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:194)
at com.github.goldin.plugins.copy.CopyMojo$_doExecute_closure1.doCall(CopyMojo.groovy:161)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:877)
at groovy.lang.Closure.call(Closure.java:412)
at groovy.lang.Closure.call(Closure.java:425)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.with(DefaultGroovyMethods.java:193)
at org.codehaus.groovy.runtime.dgm$897.invoke(Unknown Source)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoMetaMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:308)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:64)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at com.github.goldin.plugins.copy.CopyMojo.doExecute(CopyMojo.groovy:141)
at com.github.goldin.plugins.common.BaseGroovyMojo.execute(BaseGroovyMojo.groovy:121)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
... 19 more
Caused by: java.lang.AssertionError: No file(s) found in [/private/var/folders/80/5l86669j3278_x4hlpntlz380000gp/T/com.github.goldin.gcommons.beans.GeneralBean8409721372914975106].. Expression: (files || failIfNotFound). Values: files = [], failIfNotFound = true
at org.codehaus.groovy.runtime.InvokerHelper.assertFailed(InvokerHelper.java:388)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.assertFailed(ScriptBytecodeAdapter.java:658)
at com.github.goldin.gcommons.beans.FileBean.files(FileBean.groovy:205)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:226)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:52)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
at com.github.goldin.gcommons.beans.FileBean.files(FileBean.groovy)
at com.github.goldin.gcommons.beans.FileBean$files.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at com.github.goldin.plugins.copy.CopyMojo.processFilesResource(CopyMojo.groovy:508)
at com.github.goldin.plugins.copy.CopyMojo.this$5$processFilesResource(CopyMojo.groovy)
at com.github.goldin.plugins.copy.CopyMojo$this$5$processFilesResource.callCurrent(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
at com.github.goldin.plugins.copy.CopyMojo.processFilesResource(CopyMojo.groovy:291)
at com.github.goldin.plugins.copy.CopyMojo.this$5$processFilesResource(CopyMojo.groovy)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:361)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:877)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)
at com.github.goldin.plugins.copy.CopyMojo$_processResource_closure2.doCall(CopyMojo.groovy:213)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:877)
at groovy.lang.Closure.call(Closure.java:412)
at groovy.lang.Closure.call(Closure.java:425)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.with(DefaultGroovyMethods.java:193)
at org.codehaus.groovy.runtime.dgm$897.invoke(Unknown Source)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoMetaMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:308)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:64)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at com.github.goldin.plugins.copy.CopyMojo.processResource(CopyMojo.groovy:194)
at com.github.goldin.plugins.copy.CopyMojo.this$5$processResource(CopyMojo.groovy)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:361)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:877)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
at com.github.goldin.plugins.copy.CopyMojo$_doExecute_closure1.doCall(CopyMojo.groovy:148)
... 40 more
In some cases there are no options other than using Central and OSS Sonatype repositories. As I can see, your plugins are available from your Artifactory only.
Could you sync your released versions with Central repository? See Sonatype OSS Maven Repository Usage Guide @ https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide for details.
Call of http://evgeny-goldin.com/wiki/Maven_Plugins fails. Hopefully this is temporarily only. Where can Wiki and documentation be read?
Running 'mvn clean verify' from 1be1c493464efd0a2e22 fails:
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] The projects in the reactor contain a cyclic reference: Edge between 'Vertex{label='com.goldin.plugins:maven-about-plugin'}' and 'Vertex{label='com.goldin.plugins:duplicates-finder-plugin'}' introduces to cycle in the graph com.goldin.plugins:duplicates-finder-plugin --> com.goldin.plugins:maven-about-plugin --> com.goldin.plugins:duplicates-finder-plugin
Hi,
I would like to disable Kerberos authnetication for sshexec-maven-plugin.
I have tried to add GSSAPIAuthentication no
in ~/.ssh/config
with no luck.
What is the path of the config file considered by this plugin ?
when visit http://evgeny-goldin.com/wiki/Maven-plugins ,return :
HTTP/0.0 503 Service Unavailable
Date: Friday, 14-Apr-17 11:17:44 CST
Keep-Alive: timeout=38
EOF
If you declare exclusions in your pom, e.g.
<dependency>
<groupId>org.jfree</groupId>
<artifactId>jfreechart</artifactId>
<version>1.0.15</version>
<exclusions>
<exclusion>
<artifactId>bcmail-jdk14</artifactId>
<groupId>bouncycastle</groupId>
</exclusion>
<exclusion>
<artifactId>bcprov-jdk14</artifactId>
<groupId>bouncycastle</groupId>
</exclusion>
</exclusions>
</dependency>
and you use
<resource>
<targetPath>...</targetPath>
<dependency>
<includeGroupIds>...</includeGroupIds>
<includeScope>compile</includeScope>
</dependency>
</resource>
the excluded dependencies will get copied anyway.
The problem seems to be in CopyMojoHelper, line 276. The dependencies property contains all direct dependencies, regardless of exclusions.
ERROR
java.lang.NullPointerException
at com.sun.beans.TypeResolver.resolve(TypeResolver.java:321)
at com.sun.beans.TypeResolver.resolve(TypeResolver.java:303)
at com.sun.beans.TypeResolver.resolve(TypeResolver.java:351)
at com.sun.beans.TypeResolver.resolve(TypeResolver.java:172)
at com.sun.beans.TypeResolver.resolveInClass(TypeResolver.java:93)
at java.beans.FeatureDescriptor.getParameterTypes(FeatureDescriptor.java:387)
at java.beans.MethodDescriptor.setMethod(MethodDescriptor.java:114)
at java.beans.MethodDescriptor.(MethodDescriptor.java:72)
at java.beans.MethodDescriptor.(MethodDescriptor.java:56)
at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1150)
at java.beans.Introspector.getBeanInfo(Introspector.java:433)
at java.beans.Introspector.getBeanInfo(Introspector.java:174)
at groovy.lang.MetaClassImpl$14.run(MetaClassImpl.java:2927)
at java.security.AccessController.doPrivileged(Native Method)
at groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:2925)
at groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:2908)
at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:166)
at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:182)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:242)
at org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(InvokerHelper.java:751)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallStaticSite(CallSiteArray.java:59)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallSite(CallSiteArray.java:146)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
at com.goldin.gcommons.beans.GeneralBean.array(GeneralBean.groovy:134)
at com.goldin.gcommons.beans.GeneralBean$array.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
at com.goldin.plugins.copy.CopyMojo.resources(CopyMojo.groovy:117)
at com.goldin.plugins.copy.CopyMojo.execute(CopyMojo.groovy:181)
com.goldin.plugins maven-copy-plugin 0.2.3.5-SNAPSHOT create-archive package copyPLUGIN CONF
<resource>
<targetPath>${targetDir}/package/${finalName}.war</targetPath>
<file>${targetDir}/${finalName}.war</file>
</resource>
<resource>
<targetPath>target/${finalName}.zip</targetPath>
<directory>${targetDir}/package</directory>
<pack>true</pack>
<attachArtifact>true</attachArtifact>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
maven-war-plugin copies maven-ivy-pluign managed artifacts with @{extensions}@ as file extension
Example:
[DEBUG] Processing: jersey-json-1.13-jersey-json.@{extension}@
[DEBUG] + WEB-INF/lib/jersey-json-1.13-jersey-json.@{extension}@ has been copied.
The issue is in maven-plugins/maven-common/src/main/groovy/com/github/goldin/plugins/common/ConversionUtils.groovy toMavenArtifact() where new org.apache.maven.artifact.handler.DefaultArtifactHandler() is created with default arguments. DefaultArtifactHandler class actually contains 'extension' member which is used by maven-war-plugin to determine the artifact extension to use. The value can be set to proper value using DefaultArtifactHandler(String type) constructor (http://maven.apache.org/ref/3.0/maven-core/apidocs/org/apache/maven/artifact/handler/DefaultArtifactHandler.html#DefaultArtifactHandler%28java.lang.String%29)
Currently it seems that the plugins are not yet working with Maven 3.1.0, they are failing with:
[WARNING] Error injecting: com.github.goldin.plugins.copy.CopyMojo
java.lang.NoClassDefFoundError: Lorg/sonatype/aether/RepositorySystem;
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2291)
at java.lang.Class.getDeclaredFields(Class.java:1743)
at com.google.inject.spi.InjectionPoint.getInjectionPoints(InjectionPoint.java:661)
This link seems to be relevant:
https://cwiki.apache.org/confluence/display/MAVEN/AetherClassNotFound
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.