greggigon / TeamCity-Crowd-Plugin

A way to integrate Crowd as an Authentication and Authorization in TeamCity
GNU General Public License v3.0
16 stars 15 forks source link

Fails when compiling against 9.0.1 #9

Closed sveinungkb closed 9 years ago

sveinungkb commented 9 years ago

gradle buildPlugin fails with this error when building against TC 9.0.1.

Executing task ':compileTestJava' (up-to-date check took 4.077 secs) due to:
  No history is available.
All input files are considered out-of-date for incremental task ':compileTestJava'.
Compiling with JDK Java compiler API.
/Users/1106339/Downloads/TeamCity-Crowd-Plugin-0.2.1/src/test/java/teamcity/crowd/plugin/mocks/MockUserGroupManager.java:11: error: MockUserGroupManager is not abstract and does not override abstract method findUserGroupsByPropertyValue(PropertyKey,String,boolean) in UserGroupManager
public class MockUserGroupManager implements UserGroupManager {
       ^
Note: /Users/1106339/Downloads/TeamCity-Crowd-Plugin-0.2.1/src/test/java/teamcity/crowd/plugin/mocks/MockLoginConfiguration.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
1 error
greggigon commented 9 years ago

I suspect API have changed. Will need to have a look at it.

sveinungkb commented 9 years ago

Yep, I built against 8.1.5 and it worked. Haven't been able to actually test the built plugin, but it did build at least.

greggigon commented 9 years ago

Good to know. I need to make changes for new version of TeamCity. Watch this space.

christianhuening commented 9 years ago

Is the fix stable? EDIT: I actually get an error after gradle downloaded teamcity 9.0.1. Here's the output:

Download http://download.jetbrains.com/teamcity/TeamCity-9.0.1.tar.gz
:deletePreviousVersion UP-TO-DATE
:unpackTeamCityDistribution

FAILURE: Build failed with an exception.

* What went wrong:
Cannot expand TAR '/home/teamcity/crowd_plugin/TeamCity-9.0.1.tar.gz'.
> Unable to create gzip input stream for resource /home/teamcity/crowd_plugin/TeamCity-9.0.1.tar.gz.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED
greggigon commented 9 years ago

Yes, it is stable. Odd, I had this problem the other day. I think I switched versions of Gradle and it got fixed. Try the develop branch. I need to merge it later into master.

christianhuening commented 9 years ago

I tried the tc-9.0.1 branch and used it against TeamCity 9.0.2. I sadly get an error in the teamcity-auth.log when logging in:

[2015-02-17 17:32:05,101]   INFO [2.29.201; http-nio-8111-exec-1] - Failed user login attempt for POST '/loginSubmit.html?username=<private>&remember=true&_remember=&submitLogin=<veryPrivate>', from client <IPAddress>:60606, no associated user: jetbrains.buildServer.serverSide.auth.AuthenticationFailedException: java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Base64.<init>(I)V
    at org.apache.http.impl.auth.BasicScheme.<init>(BasicScheme.java:65)
    at org.apache.http.impl.auth.BasicScheme.<init>(BasicScheme.java:84)
    at com.atlassian.crowd.integration.rest.service.RestExecutor.contextForThisThread(RestExecutor.java:166)
    at com.atlassian.crowd.integration.rest.service.RestExecutor.access$200(RestExecutor.java:71)
    at com.atlassian.crowd.integration.rest.service.RestExecutor$MethodExecutor.executeCrowdServiceMethod(RestExecutor.java:621)
    at com.atlassian.crowd.integration.rest.service.RestExecutor$MethodExecutor.andReceive(RestExecutor.java:464)
    at com.atlassian.crowd.integration.rest.service.RestCrowdClient.authenticateUser(RestCrowdClient.java:139)
    at teamcity.crowd.plugin.RealPluginCrowdClient.loginUserWithPassword(RealPluginCrowdClient.java:32)
    at teamcity.crowd.plugin.loginmodule.CrowdLoginModule.login(CrowdLoginModule.java:55)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at javax.security.auth.login.LoginContext.invoke(LoginContext.java:762)
    at javax.security.auth.login.LoginContext.access$000(LoginContext.java:203)
    at javax.security.auth.login.LoginContext$4.run(LoginContext.java:690)
    at javax.security.auth.login.LoginContext$4.run(LoginContext.java:688)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:687)
    at javax.security.auth.login.LoginContext.login(LoginContext.java:595)
    at jetbrains.buildServer.serverSide.impl.auth.ServerLoginModelImpl$1.run(ServerLoginModelImpl.java:4)
    at jetbrains.buildServer.plugins.PluginSupportUtil.switchClassLoader(PluginSupportUtil.java:19)
    at jetbrains.buildServer.serverSide.impl.auth.ServerLoginModelImpl.doTryToLogin(ServerLoginModelImpl.java:94)
    at jetbrains.buildServer.serverSide.impl.auth.ServerLoginModelImpl.tryToLogin(ServerLoginModelImpl.java:32)
    at jetbrains.buildServer.serverSide.impl.auth.ServerLoginModelImpl.doCheckCredentials(ServerLoginModelImpl.java:50)
    at jetbrains.buildServer.serverSide.impl.auth.ServerLoginModelImpl.login(ServerLoginModelImpl.java:96)
    at jetbrains.buildServer.controllers.login.WebLoginModelImpl$1.compute(WebLoginModelImpl.java:1)
    at jetbrains.buildServer.controllers.login.WebLoginModelImpl$1.compute(WebLoginModelImpl.java:2)
    at jetbrains.buildServer.controllers.login.WebLoginModelImpl.doLogin(WebLoginModelImpl.java:29)
    at jetbrains.buildServer.controllers.login.WebLoginModelImpl.login(WebLoginModelImpl.java:25)
    at jetbrains.buildServer.controllers.login.WebLoginModelImpl.loginFromRequest(WebLoginModelImpl.java:95)
    at jetbrains.buildServer.controllers.login.LoginSubmitController.doPost(LoginSubmitController.java:30)
    at jetbrains.buildServer.controllers.BaseFormXmlController$1.handleRequest(BaseFormXmlController.java:53)
    at jetbrains.buildServer.controllers.AjaxRequestProcessor.processRequest(AjaxRequestProcessor.java:45)
    at jetbrains.buildServer.controllers.BaseFormXmlController.doHandle(BaseFormXmlController.java:51)
    at jetbrains.buildServer.controllers.BaseController.handleRequestInternal(BaseController.java:75)
    at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:154)
    at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:50)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at jetbrains.buildServer.maintenance.TeamCityDispatcherServlet.service(TeamCityDispatcherServlet.java:30)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at jetbrains.buildServer.web.DependencyParametersCalculationContextFilter.doFilter(DependencyParametersCalculationContextFilter.java:8)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at jetbrains.buildServer.web.DisableSessionIdFromUrlFilter.doFilter(DisableSessionIdFromUrlFilter.java:0)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at jetbrains.buildServer.diagnostic.web.DiagnosticFilter.doFilter(DiagnosticFilter.java:51)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at jetbrains.buildServer.web.ResponseFragmentFilter.doFilter(ResponseFragmentFilter.java:26)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1695)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)
sveinungkb commented 9 years ago

@christianhuening Our's have been very stable, no issues with 9.0.1 or 9.0.2. I built against 9.0.1 doh, just using the same jar. Want me to send you our jar somehow?

greggigon commented 9 years ago

I'll build for 9.0.1 and 9.0.2 tonight and push it into BinTray. Sorry, short on time these days.

christianhuening commented 9 years ago

@sveinungkb Yeah, that'd be great. Could you just send it to you christianhuening@gmail.com ? @greggigon That'd be great as well!

greggigon commented 9 years ago

I've fixed the Download issue with Gradle and I got new build for specific versions of plugin deployed to Bintray. Check the README.md in Master branch for more info. I hope it works for you now :)